creative
GOiapatiRg
the #1 magazine of computer applications and software
Jan-Feb 1978
vol 4, no 1
Austria Sch 43 00
Belgium BF 93.00
Canada $2.50
Denmark Kr 15.00
Finland Mk 9.00
France F 12.00
Germany DM 6.00
Great Britain £ 1.30
Greece Dr 87.00
Holland Df 17.00
Italy L 2000
Norway Kr 13.00
Portugal Esc 73.00
Spain Ptas 160.00
Sweden Kr 11.00
Switzerland SF 6.00
$ 2.00
Computer Games:
• VAN GAM
• YAHTZEE
A 16-Bit Computer
in Your Future?
/Vturphy’s Laws
and Computers
Grammar as a
Programming
Language
How to Write
a Computer
Simulation
Biorhythm in
BASIC and APL
Prbgram for a
World Population
A New Fast
g
Algorithm
Robot-
Drawing
Contest
e
Wazoo
Your computer system
Some computer kits include little more than a mother board and
a front panel, and you pay extra for everything else you need to-
make an operating computer.
SWTPC doesn’t do it that way, so you can get your Southwest
Technical 6800 Computer up and running at a bargain cost
compared with most other systems. It comes complete at $395
with features that cost you extra with many other systems.
The Extras You Get
These extras include 4K of random-access memory, a
mini-operating system in read-only memory, and a serial control
interface. They give you 1) a considerable amount of working
memory for your programs, 2) capability through the mini-
operating system to simply turn on power and enter programs
without having to first load in a bootstrap loader, and 3) an
interface for connecting a terminal and beginning to talk with
your computer immediately.
Low-Cost Add-Ons
Now that you have a working computer, you’ll probably want
to add at least two features soon, more memory and interfaces
for needed accessory equipment. Memory for our 6800 is
another bargain. You can get 4K memory boards for just $100
and 8K boards for only $250.
Our interfaces cost little compared with many other systems.
needn’t cost a fortune.
For just $35 you can add either a serial or parallel interface
board. (And you won’t have to buy several interfaces on a costly
board to get just the one you want.)
Peripheral Bargains
Your computer is no good without at least a terminal for
entering data and viewing computer output, and you will
probably want a good method of storing programs and data.
We offer you a line of high-quality peripherals at low prices.
(You can prove this by just comparing prices.)
Buy our CT-64 Video Terminal for only $325 and our CT-VM
Monitor with matching cover for $175. Our MF-68 Dual
Minifloppy costs just $995, complete with Disk BASIC and a
disk operating system. For cassette storage our AC-30
Cassette Interface gives simple control for one or two cassette
recorders.
You can get inexpensive hard copy with our PR-40 Al¬
phanumeric Line Printer.
We back up the 6800 system with low-cost software,
including 4K and 8K BASIC.
Compare the value you get with our computer and peripher¬
als before you buy. We think you’ll find that SWTPC gives you
more for your money in every way.
Enclosed is:
_ $995 for the Dual Minifloppy _ $250 for the PR-40 Line Printer
_ $325 for the CT-64 Terminal _ $79.50 for AC-30 Cassette Interface
_ $175 for the CT-VM Monitor _ Or BAC # _ Exp. Date_
_ $395 for the 4K 6800 Computer _ OrMC# _ Exp. Date_
Name_Address __
City_State _Zip_
Southwest Technical
Products Corp.
219 W. Rhapsody, San Antonio, Texas 78216
London: Southwest Technical Products Co., Ltd.
Tokyo: Southwest Technical Products Corp./Japan
The easy way to get disk storage,
FORTRAN IV, and other programming power
Control up to Control up to CRT terminal
four 8" drives three 5" drives interface
LSI circuitry
^Tv.iohi i*jrr
1 kilobyte
PROM
) CA«ll *»••« *1
Cr omemco 4F" —^ ( ^
^unnuUMn
, S- ' . G
Function
switches
Here's a new disk controller and
disk drive combination that will set
you up for truly powerful disk storage.
The new controller is extremely
versatile. You can use it with either
our new 5" single disk drive or our
8" dual disk drive. In fact, the con¬
troller will interface up to three 5" or
four 8" drives.
That means you can have enor¬
mous disk storage since the new con¬
troller puts 92 kilobytes on each side
of a 5" diskette and 256 kilobytes on
an 8" diskette. Recording is in soft-
sectored IBM format.
FORTRAN IV AND MORE
You can get still more Cromemco
disk operation aids. For example, we
also offer FORTRAN IV for our com¬
puter users.
And as in so many things, we are
the first manufacturer in the field to
offer this advanced program for the
Z-80 fiP.
Besides FORTRAN IV we also offer
our special BASIC (14-digit precision),
our Z-80 Assembler, and now an en¬
tertainment diskette with over a doz¬
en of our Dazzler® games.
KEYBOARD CONTROL
The new Model 4FDC disk con¬
troller (supplied in our Z-2D) is for
our Z-2 computer or any S-100 bus
computer using our Z-80 CPU card.
You should also know about these
other capabilities of the new con¬
troller:
• Its PROM-resident Disk Operating
System (RDOS) gives you key¬
board control of your disk drive
and also includes a bootstrap to
load our powerful CDOS disk
operating system supplied on all
Cromemco diskettes.
• The controller will interface your
CRT terminal through its RS-232
serial port. May save you an I/O.
• It has 5 programmable interval
timers.
• It has vectored interrupts.
• And it has an 8-bit parallel input
port and an 8-bit parallel output
port.
LOOK TO THE FUTURE
This new disk controller equips
you for the future as well as for now.
Not only can you now have very
large storage, but the features of the
controller and the standard IBM for¬
mat protect you from early obso¬
lescence.
STORES/FACTORY
This new card and the disk drives
are in production and available.
So contact your computer store
or the factory today and you can have
the power of FORTRAN IV and a
large memory right away.
PRICES
Model 4FDC-K Disk Controller kit.$ 395
Model 4FDC-W Disk Controller assembled . . .$ 595
Model WFD 5" single disk drive assembled . .$ 495
Model PFD-K 8" dual disk drive kit.$1995
Model PFD-W 8" dual disk drive assembled . .$2495
Disk drives are complete with
power supply, case and cables.
SOFTWARE
Purchasers of Cromemco computers
or drives may purchase software on 5"
or 8" diskettes as follows:
5"
8"
Diskette
Diskette
Model
Model
Price
FORTRAN IV
FDF-S
FDF-L
$95
Z-80 Assembler
FDA-S
FDA-L
$95
16K BASIC
FDB-S
FDB-L
$95
Dazzler® games FDG-S FDC-L $95
G
Cromemco
Specialists in computers and peripherals
2400 CHARLESTON RD., MOUNTAIN VIEW, CA 94043 • (415) 964-7400
UP AND RUNNING
TDL EQUIPMENT USED BY NEW JERSEY PUBLIC TELEVISION
TO PROCESS NEW JERSEY GUBERNATORIAL PRIMARY ELECTION RETURNS
John Montagna, computer engineer (above left),
lead this successful network team in generating
election results speedily, efficiently and reliably
using predominantly TDL hardware and soft¬
ware. Montagna created three programs to get
the job done. The text for a SWAPPER pro¬
gram was written and assembled using the TDL
TEXT EDITOR and Z80 RELOCATING MACRO
ASSEMBLER. The SWAPPER text and all
debugging was run through TDL’s ZAPPLE
MONITOR. The relocatable object code was
punched onto paper tape. A MAIN USERS
program updated votes and controlled air dis¬
play. An ALTERNATE USERS program got
hard copy out and votes in. The latter two
programs were written in BASIC. Montagna
modified the ZAPPLE BASIC to permit time¬
sharing between the two USERS programs.
TDL’s XITAN SYSTEMS have the capacity to do
similar tasks for you. Write to us for XITAN
information and the name of your nearest TDL
dealer.
Four screens were incorporated, two terminals
entered votes as they came in and were used
to call back votes to check accuracy. Mon¬
tagna called on the power and flexibility
offered by TDL's ZPU board and three Z-16
Memory boards.
Montagna's setup worked constantly for over
four hours updating and displaying state-wide
and county-wide* results without flaw.
“I chose TDL because they have all the soft¬
ware to support their hardware, and it's good;
it has the flexibility to do the job."
John Montagna
We salute John Montagna and NEW JERSEY
PUBLIC BROADCASTING for spearheading
the micro-computer revolution.
TECHNICAL
DESIGN
LABS
RESEARCH PARK BLDG. H 1101 STATE ROAD
PRINCETON, NEW JERSEY 08540 (609) 921 -0321
in this issue...
articles
24
26
30
34
41
44
47
68
80
94
123
127
130
Programming Techniques. Lees
File structures (Part 2).
SFS Walletsize
Space-shuttle simulator.
Blue Wazoo. Pallas
About the bird on the cover.
Five Who Most Disturbed the Thoughts of Man
Copernicus, Freud, Darwin, Einstein, Computer
How Would You Like
a 16-Bit Computer?. Simmons
Prices are coming down.
Topics in Logic. Lees
Turing machines.
Retail Marking Code. Hastings
Those black-and-white stripes.
Human Memory Processes. Hastings
We have two types of memory.
Grammar as a Programming Language ....Rowe
A one-command language: LOGO.
Computer Expo. Kahn
Computer education at Lawrence Hall.
“Hands On” and Fast
Turnaround. Cashman <& Shelly
A must for a successful program.
The Square Root of 4 is Not 2. Stern
It’s 1.99999.
The Rhetoric of the Computer. Marsh
Thoughts about a computerful world.
fiction & foolishness
32 Marsport (Part 4). Sonntag
102 Murphy’s Laws and the Computer. Breen
106 The Perring Conclusion. Delaney t
110 Poetry by Computer
in Poetry by People
114 The Big Think. Grant
117 Computer Myths Explained. Wolverton
Jan-Feb 1978 Volume 4. Number 1 Consecutive Issue No. 19
Creative Computing magazine is published bi-monthly by Creative Computing. P.O.
Box 789-M. Morristown, NJ 07960. (Editorial office: 51 Dumont Place, Morristown, NJ
07960. Phone: (201) 540-0445.)
Domestic Subscriptions: 1-year $8, 2-year $15, 3-year $21. Subscription orders,
change of address. P.O. Form 3579 to Creative Computing, P.O. Box 789-M,
Morristown, NJ 07960. Call 800-631-8112 toll-free to order a subscription (to be
charged only to a bank card).
Copyright® 1978 by Creative Computing. Ail rights reserved. Reproduction prohibited.
Printed in USA
reviews & resources
14 Compleat Computer Catalog
Auto Race, Missile Attack, Football. Gray
Three smart electronic games.
Radio Shack TRS-80. Gray
Profile of the Level I computer.
33 Heath H8 System Review. Lees & North
Profile of the 8080-based computer.
things to do - games
^ Draw-A-Robot Contest
Can you design a logo for us?
43 WORLD2. Murphy
Program for a world population model.
54 Puzzles and Problems
j-q The 8-Hour Wonder. Dwyer
Part four of a tutorial series on BASIC.
7 - How Was I Yesterday?. Robertson
* ^ Programs for biorhythmic hindsight.
33 How to Write a Computer Simulation. Ahl
wo For use in classroom instruction.
Q 3 A New Fast Sorting Algorithm. Hart
Extremely fast; minimum of comparisons.
132 YAHTZEE Computer Game. Elias
137 VAN GAM Computer Game. Brown
KIRKOF and NETWORK. Brown
I HU Draws simple electrical networks.
departments
4 Notices
6 Editorial
8 Input/Output
118 Reviews
The Cover
That big bird on the cover is the Blue Wazoo, a steel-and-
plastic-and-electronics structure six feet high, with some
peculiar behavior patterns. For the full story, see page 30.
Foreign Subscriptions:
Great Britain. 1-year £6.25, 2-year £11.90. 3-year £16.90. Orders to Creative
Computing, 60 Porchester Road. Southampton S02 7JD, England
Europe, 1-year subscription. Austria Sch 180, Belgium BF 4000, Denmark Kr65,
Finland Mr40, France Fr50, Germany DM25, GreeceDr360. Holland Dfl27, Italy L8500,
Norway Kr55. Portugal Esc320, Spain Ptas700. Sweden Kr45, Switzerland SF 25.
Orders to Pan Atlantic Computer Systems GmbH, Frankfurter Strasse 78, D61
Darmstadt. German Fed Rep
Other Countries 1-year $12, 2-year $23, 3-year $33 (surface postage, U.S. dollars).
Orders to Creative Computing, P.O. Box 789-M, Morristown. NJ 07960.
Second class postage paid at Morristown, New Jersey and at additional mailing
offices.
JAN/FEB 1978
3
Publisher
David H. Ahl
Editor-in-Chief
Stephen B. Gray
Managing Editor
Burchenal Green
Associate Editor
Steve North
Software & Reviews Editor
John Lees
Higher Education Editors
Merl Miller
A. Kent Morton
Technology Editors
Thomas R. Kibler
Alan Salisbury
Careers Editor
Eleanor Corr
Humor Editor
Jack Ludwig
Art Director
Elyse J. Fox
Marketing Manager
Linda Harrison
Business Manager
Mary M. Williams
Retail Marketing Rep.
Linda Eckerstrom
Customer Service
Jeanne Tick
Book Service
Barbara Shupe
Jimi Gordon
Subscriptions
Ethel Fisher
Carol Cassata
Advertising Sales
Western States, Texas
Jules E. Thompson
Hearst Building, Suite INI
5 Third Street
San Francisco, CA 94103
(415) 362-8547
Southern California
Bert Charlton
2560 Via Tejon
Palos Verdes Estates, CA 90274
(213) 378-8361
Mid-Atlantic, Northeast
Charles Lynch
36 Sohier Street
Cohasset, MA 02025
(617) 383-6136
Elsewhere
Burchenal Green
(201) 540-0445
MEMBER
COMMina OF SMALL MACAZINE
EDITORS AND PUBLISHERS
• • • ncticss • • •
Intel University
Software Contest
More than $28,000 worth of microcom¬
puter development equipment, plus
numerous $100 memberships in the Intel
User’s Library, will be awarded by Intel
Corporation to colleges and universities in
the United States and Canada.
The equipment will be awarded as prizes
during a University Software Contest that
runs through June 30, 1978. A team of
software specialists will evaluate software
programs for their originality, documenta¬
tion, creativity and applicability to
microprocessors. Students and faculty
members can enter as individuals or teams.
Prizes will be awarded to the winning
schools.
Intel’s Software Library, Insite, is en¬
couraging the contribution of original, high-
quality programs. Examples include
operating systems, communications
programs, scientific subroutines, language
translators, programmable peripheral-
device subroutines, and applications
programs in the areas of numerical control,
data acquisition, process control, data
analysis and lab automation.
Entries must be written in Intel assembly
language or PL/M and must include a
source listing and test program to assure
program validity and a source paper tape or
diskette. Entry forms and contest details
may be obtained by writing: Insite Library
Contest, Intel Corporation, Microcomputer
Division, 3065 Bowers Ave., Santa Clara, CA
95051.
NCC 78
Billed as “the year’s largest annual
gathering of the computing and data
processing fields,” the 1978 National Con¬
ference will be held June 5-8, 1978, in the
Anaheim Convention Center, Anaheim,
California.
NCC 78 will feature about 100 technical
sessions, a series of professional develop¬
ment tutorials, exhibits- of computer
products and services by about 300
organizations, plus special addresses,
events, and activities.
A special feature of NCC 78 is the
Personal Computing Festival, to take place
June 6-8 at the Disneyland Hotel complex in
Anaheim. Some 30 sessions are planned,
and prizes will be awarded for the most
innovative demonstrations of individually-
designed hardware and software systems
and applications.
AFIPS Headquarters, 210 Summit Ave.,
Montvale, NJ 07645. (201) 391-9810.
PERCOMP 78
Co-sponsored by the International Com¬
puter Society/SCCS and the Rockwell
Hobbyist Computer Club, PERCOMP 78
will be held at the Long Beach Convention
Center, Long Beach, California, April 28-30,
1978. The show is “designed with the home
computerist and small-business person in
mind.”
James Lindwedel, Technical Program
Chairperson, PERCOMP 78, 1833 E. 17 St.,
Santa Ana, CA 92701.
Your Key to
Fame and Fortune
Creative Computing is seeking "how-to”
articles on several specific topics for
upcoming issues. The areas of interest are:
1. Investment portfolio analysis. For
example, comparative stock analysis,
stocks vs bonds vs treasury bills vs other
alternatives, puts and calls, arbitrage
analysis, etc.
2. CAI author system. Software system
that allows the user to write a tutorial dialog
of questions and answers for any subject.
PLANIT is an example of such a system for
large computers; HP has an Instructional
Dialog Facility for their 2000 and 3000
series: DEC has DECAL, a relatively un¬
sophisticated system that runs under
RSTS. We are seeking to publish a system
for a microcomputer system with floppy
disk.
3. Sports Smiulations. In-depth, serious
simulations of various sports such as ice
hocky, soccer, gliding, sailing, etc. The idea
is that the computer player can learn
something about playing tactics and
strategy that can be used in the actual sport.
4. Speech recognition and synthesis.
Perhaps an interactive version of ELIZA
(Jul/Aug 1977, pg 100) or some other
interesting program.
Articles should be truly of a “how-to”
nature, not speculations or philosophy.
We’re looking for software with listings and
sample output and a complete description
of your algorithms and approach. Should be
typed, double-spaced. Output with clean
black ribbon on white paper. Payment upon
acceptance (not upon publication) at our
usual rates. Which is to say, you’ll not get
rich but you’ll be compensated for your time
and effort. Photos and/or illustrations are
highly desirable and will be paid for also if
they’re suitable for publication.
If you wish your material returned in the
event it is not accepted for publication,
please include a self-addressed stamped
envelope (SASE) of adequate size and
enough postage for its return. We cannot
guarantee acknowledgment of con¬
tributions without an SASE.
4
CREATIVE COMPUTING
assembled boards also available
,t slightly higher prices.
MBS 2K/4K EPROM Board
Kit less EPROM * 64 95
Kit with 8*1702A (1 104 95
Kit with 18-1702A (1 /is) 144.95
4K Memory Board
Kit with 4K 450 ns 100 mw RAM
Bare P.C. Board
MBS 8K Memory Board
Kit with 8K 450 ns 100 mw RAM $199.95
$109.95
29 95
MB9 Static PROM/RAM Board
Kit less memory $ 79.95
MBS 8K/16K EPROM Board
Kit less EPROM $ 84.95
102 Input/Output, PROM and
Universal Board
Kit $ 54.95
Bare P.C. Board 29.95
VB1 Video Interface Board
Kit $149 95
Bare P.C. Board 29.95
K Memory Board
4K RAM $187.95
8K RAM 295.00
16K RAM 625.00
Board 29.95
And, we build just
about any board you’ll
want for S-100 bus expansion.
When you’re thinking about expansion
look to the Solid State Music “blue
boards!’ You’ll find quality and user versa¬
tility built into every one allowing you to ex¬
pand your system in whatever direction you
choose ... and, we’ve been doing it for years.
Right from the start we design our boards with our
customers in mind. Extra features are added that will
aid in expansion, not hinder program design and devel¬
opment. All first class parts are used and they’re checked
to make sure you have years of trouble free operation. Plus,
every kit comes complete with assembly instructions and user
information to make assembly a snap and operation a pleasure.
SPECIAL BONUS OFFER
An 8080 Monitor for
1/2 price!!!
If you buy any of the Solid State Music
kits or assembled boards you’ll receive
a SSM8080 Monitor complete with ei¬
ther eight 1702’s or two 2708’s and over
50 pages of software information. A
$49.95 retail value... just $25.00. Hurry!
cybercom
SB1 Music Synthesizer Board
Kit with paper tape of MUS-X1 $199.95
Talk to your dealer today to get more facts about the “blue boards”
or write direct. Compare prices, quality and features. You’ll find out
why more and more people are using Solid State Music “blue boards”
for their S-100 bus expansion.
Solid State Music
2102A Walsh Avenue
Santa Clara, CA 95050
(408) 246-2707
We’re the blue boards
.editorial.
Consumer Protection
No doubt all the hobby-computer magazines get letters
from readers such as one we recently got that went
something like this (heavily paraphrased so the sender
won’t recognize it):
A year ago I ordered an XYZ computer kit, and after
three months went by, and I hadn’t heard from the XYZ
Company, I called them to find out what happened to
my order. They couldn’t find it. I stopped payment on
the check, and sent another order. Another three
months went by without a word from the XYZ people,
so I called again. (I’m on the East Coast, and they’re on
the West Coast, so these calls aren’t cheap.)
This time they said they had my order, but they were
having to hold up all orders for the computer kit
because a company making one of the important ICs
had gone bankrupt, and there was no second source.
So they were trying to figure out some way around he
problem.
After waiting another three months, and discover¬
ing newer and more interesting computer kits, I wrote
the XYZ company to ask for my check back. No
response in the month that followed, so I called them.
They said they hadn’t received my letter. So I asked to
have the check returned to me. They said sorry, it
wasn’t their policy to return checks without a letter
requesting this. I sent another letter, and am still
waiting for my refund.
Please print my letter in your magazine, so your
readers will know what’s going on at the XYZ
Company, and why I would never try to buy anything
from them, ever again.”
We get that type of letter every now and then, and the
magazines that specialize in hardware probably get a lot
more of them. The question is, should we print such a
letter?
We’ve talked with other editors and publishers, and
found varying viewpoints. One said “If a company is just
getting off the ground, why give them the kiss of death just
because they’re having growing pains?” Another felt that
“We’ve got to be careful, because we can’t afford to lose
any advertising.”
Most of us have stayed away from this ticklish subject of
printing “I’ve been had” letters, but we can’t ignore them
forever. We’re going to take a much closer look at letters
dealing with problems involving software and
applications, which is our area, and if we find the
complaint is valid, then we should let you, our readers,
know that the ABC company doesn’t deliver software as
promised, or that the DEF Corporation’s inventory
program doesn’t live up to spec, etc.
After all, how long are growing pains supposed to last?
— Stephen B. Gray
Win $25-Plus In Our
Draw-A-Robot Contest
Be the Creative winner, or at least be a Creative contestant in
our “Draw-A-Robot Contest.”
We want all of you Creative Computing readers to try your hand
at creating a robot. Not a mechanical demon or a lively cohort.
Just a simple, modern, humanized version of our out-dated robot
appearing on the contents page. We need a versatile robot to be
part of our logo—one that symbolizes what Creative is all about.
The winning robot will appear on our advertisements, business
cards, stationery, stickers, in the magazine—you name it.
Whomever comes in contact with Creative Computing will come
in contact with the robot.
Let your imagination run wild. Anything goes, but here’s what
we’re looking for....
A robot that reveals character and progress, a trustworthy face
and a strong physique. A robot in motion who carries an inherent
sense of innovation. In other words, a robot that reflects Creative
Computing.
The winner will receive $25 plus a biosketch which will
accompany the featured full-page robot. The five runner-up
robots will appear with the winner in the May-June issue.
Here are the specifications:
—All drawings must be in by Feb. 20, 1978
—A separate sheet with your name, address and phone number
must be attached to the drawing.
—Robot drawings larger than 9x12 or smaller than 1 x3 will not be
considered.
—Black on white paper only.
—There is no limit to the number of drawings you can submit.
—Send all robots to:
Draw-A-Robot Contest
Creative Computing
P.O. Box 789-M
Morristown, NJ 07960
POSITION OPENING
Creative Computing has an immediate opening for a
SOFTWARE MARKETING
MANAGER
Responsible for making contact with software originators;
obtaining marketable software (games, household
management, investment analysis, small-business
management, and other programs); contacting vendors
and contracting for the production of cassettes, records,
or other media; and developing a marketing and adver¬
tising campaign for the sale of these products. This
position has total revenue, expense and profit respon¬
sibility for these activities. Also responsible for the
preparation of at least one article and one or more reviews
of software systems for each issue of Creative Computing.
Qualifications: BS or equivalent experience; MBA
preferred. Experience with microcomputer software,
marketing, or both.
Location: Morristown, New Jersey (1 hour from NYC).
Salary $12,000-$16,000; minimal fringe benefits. Excellent
profit-sharing plan after one year employment. Oppor¬
tunity for exceptionally rapid growth, broad respon¬
sibilities, and high job satisfaction.
Send resume to Creative Computing, Attn: David Ahl, 51
Dumont Place, Morristown, NJ 07960.
6
CREATIVE COMPUTING
Heathkit "Program-Ready Computer
Systems Await YOUR COMMANDS!
The Heathkit H8 is designed to provide you with a versatile,
efficient computer that’s easy and fun to build and use. It fea¬
tures an intelligent front panel with keyboard entry and 9-digit
display, a heavy-duty power supply with enough extra capac¬
ity for memory and I/O expansion, and an exclusive 50-line
fully buffered bus capable of addressing 65K bytes. The CPU
board is fully wired and tested and features the 8080A chip,
clock, systems controller and full bus buffering. Seven vec¬
tored interrupts are available on the bus for quick response to
your I/O requests. The mother board has positions for up to
10 plug-in circuit boards for memory and interface cards and
complete “program ready” software (BASIC, assembler, edi¬
tor and debug) is included at no extra cost. Together with its
“system designed” peripherals: memory expansion boards,
serial and parallel interfaces, the H9 CRT terminal with ASCII
67-key keyboard and the ECP-3801 cassette recorder/player
mass storage device, the H8 will provide you with years of
computing usefulness and enjoyment.
Based on the world-famous DEC LSI-11, the H11 and its peri¬
pherals give you all the power and speed you need for total
computing versatility. It’s one of the few FULL 16-bit compu¬
ters available to the hobbyist today, and equivalent commer¬
cial versions would cost literally thousands of dollars more.
The H11 features a fully wired and tested DEC KD11F board
that contains the 16-bit LSI-11 CPU, a 4096x16 read/write
MOS semiconductor memory, DMA operation, and includes
the powerful PDP-11/40 instruction set. Heath/DEC PDP-11
software includes editor, relocatable assembler, link editor,
absolute loader, debug, I/O executive and DUMP programs,
plus BASIC and FOCAL. The backplane/card guides are fully
compatible with all standard LSI-11 accessories. The H11 and
its system peripherals: memory expansion modules, serial
and parallel interfaces, an extended arithmetic chip, plus the
H10 paper tape reader/punch and the H9 CRT terminal give
you all the power and versatility you need for personal com¬
puting at its very best!
Basic Self-Instruction Course
Learn BASIC program-
** ming easy and fast with
our EC-1100 self-instruc¬
tional course. Features programmed
instruction text, experiments and
demonstrations to give you a thorough
knowledge of BASIC and program¬
ming techniques.
World-Famous DECwriter II
Sdlimp Deluxe keyboard printing
terminal at Heath’s sensa¬
tional low mail order price!
Also available: LAXX-KG EIA (RS-232C)
Interface with cable and connector, $65;
LAXX-LM Acoustic Coupler which mounts
in LA36 with hardware provided, $250.00
FREE!
HEATHKIT CATALOG
The new Winter ’78 Edition
You can get a FREE retail catalog by re¬
deeming this coupon In person at any of
the 50 Heathkit Electronic Centers (Units
of Schlumberger Products Corporation) in
major markets coast-to-coast, where
Heathkit products are sold, displayed, and
serviced. (Retail prices on some products
may be slightly higher.) (Check the white
pages of your telephone book.)
Schlumberger
Please send me my FREE Heathkit Catalog.
I am not on your mailing list.
Nearly 400 fascinating electronic kits fully
illustrated and described, plus a variety of
Heath-recommended assembled products.
Send for your FREE copy today!
Prices are mail order net FOB, Benton Harbor, Michigan.
Prices and specifications subject to change without notice.
HEATH
Heath Company, Dept. 355-370
Benton Harbor, Michigan 49022
<
Use coupon for
mail-order
catalog or bring
to store for
retail catalog.
►
Address
City
State
CP-137
Zip
J
put... input/output... in
Pen Pals for
PLATO and MULTITLTOR?
Dear Editor:
I am very interested in Computer Assisted Education
(emphasis on assisted) and believe that it will be, and now is to
some extent, a great aid to educators. I would like to correspond
with others who also have an interest in this subject. I am
especially interested in the PLATO and MULTITUTOR
systems, both of which use the TUTOR language. A computer
should never take over completely the role of educator, but
systems like PLATO encourage and assist out-of-class and extra
study and also stimulate interest. They make the job of the
educator easier and give him/her more time for individual
interaction with the students. I believe that this makes for a
closer relationship between teacher and student and creates an
atmosphere that is more conducive to learning, even in today’s
very large college and high school classes.
I am also glad to see that your magazine publishes computer
games. Many computer “purists” (as they call themselves; I call
them other things) believe that such games are below them and
are childish. 1 believe that they are exactly what they are meant
to be; fun, recreational, and sometimes even educational. 1 have
the book 101 BASIC Computer. Games , edited by your
publisher David H. Ahl, and both volumes of your Best Of
Creative Computing and enjoy all three. I have, in total, about
400 games recorded on a 2400-ft. tape and on listings. I would
enjoy corresponding and trading programs with others who
enjoy computer games. The games I have range from very simple
number-guessing games to very complex science fiction
simulations. I hope that you continue to give games a place in
your magazine.
I wish you continued luck with your magazine and hope that
more people will take the attitude that computers can be fun.
Bruce A. Carter
7786 South 300 West
Union Mills, IN 46382
A Fan Tells All
Dear Editor:
From the beginning of ’77, CC seems to have been rolling. I
remember a letter that 1 got shortly before my first issue back in
Nov ’75 saying that CC needed subscribers badly so that CC
could increase the size of the magazine, print on better quality
paper, increase the issue frequency, and to let the staff buy
groceries. Well, with the advent of the rise in microcomputer
sales to hobbyists, most of that has come true. Tell me, does the
staff buy groceries?
From Tom Allen’s “Algorithmic Basic,” I see that Tom is
hooked on COBOL. My advice to him is to learn ALGOL and
try pseudo-ALGOL Algorithmic Basic. After all, ALGOL is for
the algorithms, not COBOL.
As l orn pointed out, picking apart algorithms is difficult and
time-consuming. This one Star Trek program was a doo-zee for
me. If only the programmer would take the time to document his
programs and explain the complex algorithms, rather than
cramming it all into a few lines, the problem would disappear.
Two particular evils are multiple statements on one line,
usually separated by colons (:), and lack of spaces. For example,
the statement 10READY might appear to the unaware personas
a statement called READY rather than READ Y. Two
examples of these evils are POSTER in Nov-Dec ’76 which uses
so many multiple statements that it boggles the mind, and
TICKERTAPE in May-Jun ’77 which also uses a third evil
known as three-letter abbreviations.
I would like to thank Gregory Yob for his excellent article on
PILOT. I am currently writing a PILOT interpreter for an HP
2000F computer and one for a CDC Cyber 73-26 KRONOS
system which has two CPUs.
A special thanks to CC and Steve North, Jeff Shrager and the
creator, Joseph Weizenbaum for bringing a Basic version of
ELIZA toCC. I think it makes an interesting demonstration and
it’s good for just plain fun. I have a partially completed HP
2000F Basic version, which, by the time you read this, should be
completed.
1 would appreciate receiving letters from people interested in
computing, especially APL fanatics, people who use PILOT,
Artificial Intelligence programs (like ELIZA), and especially
people that make, or at least use, computer games in BASIC. I
have about ten programs that I would like to share with
interested people. Thanks a lot.
Steve Trapp
5020 Mulcare Drive
Columbia Heights, MN 55421
Calculating the Number of Coconuts
Dear Editor:
This is in regard to the Sailor program in the May-June 1977
“Thinking Strategies” (p 78). In case no one else has sent it in,
there is a much more efficient algorithm for calculating the
number of coconuts, that does not require looping, repeated
incrementing, nor conditional tests (except one): If “x” is the
smallest possible number of coconuts, and “n” is the number of
sailors, then:
For even “n”; x=m n+l ) -n n -n +1
For odd “n”; x=n n -n+ 1
This gives the correct result for any “n” greater than 2. This
algorithm was given in 65 Notes, Vol. 2, No. 1, page 9 (January
1975). 65 Notes is the publication of the HP-65 Users Club.
Delmer D. Hinrichs
2116 S. E. 377th Ave.
Washougal, WA 98671
8
CREATIVE COMPUTING
The many faces of MERLIN
MiniTtra MERLIN in the Mixed,!
Dense (URN bV 1MV>
flraPhic lode.
-¥
m
* ^
* 5
AIL-
•
Dense Mode: 160H * 100V
Running Man Patterns
Propaganda
Super Dense: 320H * 200V
Equation Plotting
3M2 REM/ HAIM LOOP
3004 CALL 83 REM/ EDIO (FLIP 8CREEM)
3030 P0=t3DB9
3*35 COSUB 2520
3840 COSUB 4020
3050 C0SU8 2220
3060 P8»P0*1190
3065 COSUB 2528
3070 COSUB 4020
3080 COSUB 2920
3090 P8 a P0-I*90
3100 COSUB 2320
3110 I*It-l
3128 P0=P0-I*90
3130 GOTO 3050
4010 REM/ CALULATE PATTERN SUB
4020 H*20+RND(Z>*80
4030 L a 20*RHD(Z )*80
4040 D=10*RNO(Z>*50
REM/ CALC PATTERN
REM/ DRAM PATTERN
•REM/ CLEAR
Monitor Debug Usage
Super Dense: 320H * 200V
3-D Boxes
Super Dense: 320H x 200V
Line Drawing
BASIC Program Listing
Output Shown Below
Super Dense: 320H * 200V
Perspective Drawing
MERLIN (and your S-100 Computer...)
... the graphics development package you’ve been waiting for.
Do these photos suggest an application in your field? Whether you’re into architecture, astro¬
logy, music or whatever, you can apply graphics to make your presentations more effective
and your work more efficient.
Real Time Plotting
Heart Rate
Navigation
Spectrum Analysis
Complex Equation Plotting
Stock Market Trends
Teaching: Mathematics
Circuit Responses
Fine Line Drawings
Architecture
3-D Projections
Circuit Layouts
Pattern Movement
Animation
Games
MERLIN is also a multipurpose system monitor board with
ROM monitor and editor software, parallel keyboard port, and
audio cassetts storage, besides being your text and graphics
video output device.
Write or call today for your free copy of our new catalog, an
index to available application notes, and a list of MiniTerm
Dealers. ^
MERLIN is supported by expert technical assistance, a con¬
stantly expanding series of application notes, and a newly
formed users group.
Assembled and tested MERLINs start at $349, $269 for kits.
Super Dense add-on, firmware, and cassette interface are extra.
MiniTerm Associates, inc.
Dundee Park, Andover, MA 01810 (617) 470-0525
pot... inpot/output... in
File Structures Revisited
Dear Editor:
Pertaining to the “Reader Challenge’' on page 32 of the Nov-
Dec issue, your specifications for the LP IS&R system are
probably good enough if you are just maintaining a record-
store-type inventory. However, for a collector of records, it just
doesn't contain enough information. My collection is heavy on
Dixieland records, and if all 1 could record in my system was the
Schwann-catalog-type information, it would not be of any real
use to me. For example, in addition to wanting to know the LP
title & record number, I also need to know the title of all the
individual selections on the LP, 1 would also like to know the
artists who recorded that selection, the date it was recorded and
the original label and record number (if available). I am going to
want to know, for example, how many versions I have of
“Muskrat Ramble,” or I may want to know if l have a version of
“Muskrat Ramble” featuring Kid Ory, or I may want to know
(especially when buying additional records) if I already have
these selections on another LP.
You might also want to throw' in such information as: mono,
stereo, quad, etc; the recording characteristics; the sequential
arrangement of multi-record sets (i.e., in a three record set is the
record/side arrangement 1-6/2-5/3-4 or is it I -2/3-4/5-6); the
condition of the record, the number of times played; etc.
These would seem to be some of the features that one would
want to build into the system to offer greater utility to the user.
After all, 1 can now maintain a paper record catalog of my
collection. But by expanding the information available I can
make the file more useful. 1 can look for a particular artist doing
a particular selection, for example. If I add a “play count” I can
see which records are starting to wear out and I can either put
them on tape or I can shop for another LP.
John Lees' article on “Programming Techniques: File
Structures (Part 1)” looks like it is going to be a useful series.
However, it might have been more useful if a small change had
been made in the “formats” for the 0, 1 & 2 type records. You can
make your retrievals much easier if he had specified the record
formats as:
Type 0: Author: Title: P-Code: Binding: Pages: Price: Date
Type 1 : Author: Title: P-Code: Binding: B-Code
Type 2: Author: Title: B-Code
or even better:
Type 0: B-Code: Author: Title: etc
Type I : B-Code: Author: Title: etc
Type 2: B-Code: Author: Title: etc.
In the first example you would be able to say go to field
two/three and look for author and/or title, or vice versa.
However, you would probably have problems if you ever want
to do something like listing your collection in sort on
author/book title/story title, as the only thing you have to tie
stories into a book collection title is the B-code and its location is
not uniform.
In that case, if you go to the second set of examples, you have
the author, title, and a method of tying collections together via
the B-Code all in the same fields, which makes your
retrievals/sorts easier. Having raised this point. I now wonder
how I am going to solve the question of how do you handle a
collection of short stories by different authors? You have the
editor showing up as the author of the book, and the actual
author showing up as the author of the short story. Well, your
readers can figure that one out for themselves.
In this particular case study, the author might want to use the
IBSN as a replacement for the P-Code and the B-Code. The
IBSN is the International Book Serial Number, which uniquely
identifies a book as to publisher and title.
David Williams
5079 Blacksmith Drive
Columbia, MD 21044
Reply to “An Amazing
Computer System”
Dear Editor;
In the July-Aug 1977 Creative Computing there was a letter
from a poor soul who thought that an IBM 1130 was a fantastic
deal. Well, I suppose that if one wants a machine which has the
letters T ‘B’ and ‘M’ on its panel, and 1130 would be a good deal.
However, I feel that any sixteen-bit processor (i.e.. Digital
Equipment Corp.'s LSI-11, Data General's Nova, etc., with
approx. 565-68,000 worth of peripherals would be a much better
match of processor to peripherals. Even this type of a match is a
bit ridiculous.
For $70,000, a more realistic system would timeshare, have
possibly two disk cartridge drives, some sort of tape-storage
media, most likely a sixteen-bit processor, 64K of memory (or
128K bytes equivalent as Mr. Berlin says) and say 6-8 terminals.
A system such as this can be purchased from any vendor
(excepting, of course, IBM) for the range of $60-80,000. May I
suggest that any installation thinking of buying a single-user or
batch-oriented system think twice, for the last of the great batch-
machine manufacturers (IBM) probably wishes that it could get
out of batch into timesharing without lawsuits and other legal
problems. Of course I am not talking about totally getting rid of
batch processing; it still has very many valid uses. But for a
school, a total batch system for $70,000 dollars is a waste of
money, especially one with as sickly a processor as an 1130.
1 suggest to the owners (leasers) of such a system: junk it and
get a real machine.
IBM Hater
P.S. Keep up the interesting work with the magazine.
P.S.S. Pardon the illiteracy in the preceeding letter.
Finding the Day of the Week
Dear Editor:
In your issue of Nov-Dec 1976, James Reagan described
Zeller's congruence, a formula for finding the day of the week
given the numeric month, day of the month and year. The
formula, as amended by Michael Smith in the Mar-Apr 1977
issue is:
F=(INT(2.6*M-0.2)+K+D+INT (D/4)+INT(C/4)-2*C)mod7
where M=numeric month-2 (January & February become 11
and 12 and the year is reduced by I)
K= day of the month
D= last two digits of year
C= first two digits of year.
I recently had occasion to make use of Zeller’s Congruence in
a computer program and found an error, not in the expressed
equation, but in its application to computers using binary or
hexadecimal floating-point notation. The error occurs in the
first part of the equation; INT(2.6*M-0.2). When the month is
February, M=12 and INT(2.6*12-0.2)=31, on paper. On the
computer, the result is 30, which messes up the entire month of
February. This is because of the peculiar fact that numbers like
.2 and 2.6 cannot be expressed exactly in binary, but are
repeating binary fractions. The number .2 converts to the binary
fraction .001100110011, those twelve digits repeated infinitely.
Consequently, instead of 2.6*12-0.2, the computer uses
something like 2.599999* 12-0.199999=30.999989, whose integer
portion is 30, not 31. This problem is readily corrected either by
using INT (2.6*M-0.1999) or the preferable INT((26*M-2)/10).
Mr. Reagan should be aware that he has not only provided us
with a nifty sample problem for the programmer trainee, but
also one which points out the need for every programmer to
understand how computers represent numbers and the ways in
which these representations can result in errors!
Keith S. Reid-Green, Director
Software Systems Development
Educational Testing Service
Princeton, NJ 08540
10
CREATIVE COMPUTING
Seven points
to consider
before
you buy your
small computer.
In this magazine, alone, there are probably a dozen
ads for small computers. New companies are breaking
ground like spring flowers.
How, then, do you determine which computer offers the
features you need most... at the price you can afford?
We’d like to propose seven basic questions to help you
make an intelligent decision.
Is the computer
well-engineered?
0 Our Sol systems are the most conservatively
rated and ruggedly built in the industry, period. In
addition we designed them with you, the user, in mind;
Sols are easy to build and a joy to operate.
How complete is the
computer system?
Many buyers of small computers are in for a rude
awakening when they have to spend additional money
for interfaces.
The Sol-20 Terminal Computer was the first complete
small computer system. Everything you need to make
it work is included in the basic package.
Is powerful system
software available?
0 It won’t do if your system is “tongue-tied’.'
Processor Technology Corporation has devoted
more effort to the development of software than any other
small computer maker. Our latest offering is the first
fully implemented disk operating system for a small
computer: PTDOS. It contains over 40 major commands,
several languages and numerous utilities. Our high
level languages include Extended BASIC, Assembler,
FORTRANf FOCAL and PILOT*
Is the system easy
to expand?
More and more computer owners are
expanding their small computers to handle business and
other specialized requirements.
The largest Sol system can handle 64K bytes of RAM
memory and operate with a three megabyte on-line
disk memory. Sol systems use the S-100 Bus. So you can
use a wide variety of hardware.
5 Does it have proven
reliability?
^ What is the track record? There are over
5,000 Sol systems in the field. Our track record for reliable
performance is unparalleled in the small computer field.
Does it have good
factory support?
A computer is a complex piece of hardware.
So you want to be sure it is backed up with complete
manuals, drawings and a factory support team that cares.
Processor Technology offers the most extensive
documentation of any small computer manufacturer. And
we maintain a patient, competent telephone staff to
answer your questions.
Z Are maintenance and
service people accessible?
Where are they located?
Processor Technology has maintenance and service
people in over 50 cities around the U.S.
As you continue turning the pages, see how we stack up
to the other computers in this magazine. If we’ve
succeeded in whetting your appetite, see your Sol dealer
or write for information on the complete family of
Sol computers.
Processor Technology Corporation, Box C,
7100 Johnson Industrial Drive, Pleasanton, CA 94566.
(415) 829-2600.
■"Available soon.
Processor Technology
pot... input/output... in
Computer Club in Finland
Dear Editor:
Em writing to you to make you aware of our Computer Club
that was started some 3 months ago and to get it mentioned in
the List of Amateur Computer Clubs.
We would be very happy to be able to contact clubs in the US
and also to get information from manufacturers of equipment
that could be hooked into the 6800 bus. We started our club by
purchasinga MEK6800D2 Kit from our local friendly Motorola
rep., were lucky enough to find a paper-tape reader and punch at
a scrapyard. What we now need most is memory and a VDU
terminal and would be very happy if somebody could tell us of
suitable products, as it is not financially possible for us to get to
the States to a Hobby Computer Fair and there are no Hobby
Computer Shops around, either.
What we lack in availability of equipment we try to make up
in enthusiasm and effort. Just think how many of you would
have a Home Computer if you had to find out about them in
foreign magazines written in a foreign language, too.
Kurt Soderstrom
Computer Club of Porvoo
Gammelbackantie 3E 33
SF-06100 Porvoo 10
Finland
CRTs and Their Effect on Users
Dear Editor:
In reference to the letter from Ken Roberts in your Sept-Oct
1977 issue, 1 doubt that he is suffering from CRT radiation, since
he made no mention of such expected symptoms as hair falling
out, nose twitching spastically, and eyeballs rolling uncon¬
trollably. I suspect instead that Mr. Roberts is suffering from the
subtle emanations given off by the S-100 memory bus ... a
little-known malady, all research on which has been ruthlessly
suppressed by a sinister combine of giant microcomputer
manufacturers.
One alternative possibility is a case of Sardonicus Counter -
culturus, which is characterized by the tongue curling up in the
cheek. Obviously the “Input-Output” staff has not yet
contracted this disease ... beware, for it is known to be highly
contagious.
I’m sending both you and Mr. Roberts copies of an article my
partner Bonnie wrote concerning CRTs and their effects on
users. This appeared some time ago in the CAPONE Newsletter
(Chicago Area Programmers of NOVAs and ECLIPSE). I
think it’s relatively comprehensive; may give you a scrap or two
of information.
Laurance F. Wygant
Chief Programmer
The Toolsmith Organization, Ltd.
Box 95094. Wood fie Id Mall
Schaumburg, IL 60195
Tips on Cathode Ray Tube TERMINALS
Bonnie Wygant (Pelam, Inc.)
The use of CRTs (cathode ray tubes) as a tool for on-line data
entry is growing rapidly. They have come into use so fast that
little is known about their effect upon the people who use them.
The only reference I have seen to the subject is a recent article
called “CRTs pose health problems for operators”, by Dr. Olov
Ostberg*. He mentions several areas in which complaints can be
classified. The major difficulty is that the symptoms are very
common (such as eyestrain, headache, burning eyes, body and
mental fatigue) and are not taken as serious complaints.
Here are some tips to consider when working with CRTs. The
key is to MINIMIZE FATIGUE! Ways to do this are:
1. Be sure the keyboard and screen are both at a comfortable
height. A good height for the keyboard is very similar to that of a
typewriter; hands should be able to rest on the keys about level
or slightly downward from the elbow point. Your line of vision
with the screen should be straight, since holding the head too
high or too low can quickly make the neck muscles tired. An
alternate possibility is to vary the level of your chair; however,
your feet should rest flat on the floor and carry the weight of the
legs, or you will cut off circulation. Good posture is essential. A
proper chair is essential.
2. Try to have good light—too much can be as bad or worse
than too little. The light near a window is generally too bright, as
is the fluorescent lighting commonly found in offices. It pro¬
duces a glare that is fatiguing. Fluorescent bulbs are notorious
for flickering and this, too, is undesirable. Reflections on the
screen are a no-no.
3. Clean the screen often with alcohol or glass cleaner,
whatever the manufacturer recommends. Dust will make the
image on the screen appear hazy, causing your eyes to constantly
adjust to correct the focus. (This is an eye reflex of which we are
never really aware.) This too causes fatigue. Cleaning at least
once a week is a good practice.
4. Diversions from long periods in front of the CRT can be
extremely beneficial. Break up your activities—chase a person
of the opposite sex around the office at regular intervals. Make
good use of break and lunch periods to remove yourself from the
immediate environment. If you are a bookworm, remember that
reading during a break may further tire your eyes.
5. Try to have your CRT out of the immediate vicinity of the
computer. The noise of the inductors and the blowers is a
mixture of sound that, combined with the heat generated from
the machine, can make you extremely sleepy. A printer or card
reader in use can be a very annoying distraction. Concentration
becomes a struggle. The end result is fatigue.
6. For those who wear eye makeup it is advisable to try non-
allergenic brands. Most have some allergies whether they are
cognizant of them or not. A good test to find out if you are
allergic is to put your eye makeup on... Do your eyes feel
heavy?... Or like you have Plymouth Rock inside one or both
eyes? Are your eyes red or extremely sensitive? Do you feel like
rubbing them? You’re probably slightly allergic. Non-allergenic
cosmetics may cost more but believe me — they’re worth it.
Let me say in closing that fatigue is a very general term, but the
use of the word here covers both physical and mental reactions,
as the two are often mixed. Try to develop good habits now.
* Health and Safety , Vol. 44 No. 6 (Nov/ Dec 75) pp 24-26,
52, 50, 46.
12
CREATIVE COMPUTING
HORIZON
THE COMPLETE COMPUTER
Hi Hi
Look To The North Star HORIZON Computer.
HORIZON™— a complete, high-performance microprocessor
system with integrated floppy disk memory. HORIZON is
attractive, professionally engineered, and ideal for business,
educational and personal applications.
To begin programming in extended BASIC, merely add a CRT
or hard-copy terminal. HORIZON-1 includes a Z80A processor,
16K RAM, minifloppy™ disk and 12-slot S-100 motherboard
with serial terminal interface —all standard equipment.
WHAT ABOUT PERFORMANCE?
The Z80A processor operates at 4MHZ — double the power of
the 8080. And our 16K RAM board lets the Z80A execute at
full speed. HORIZON can load or save a 10K byte disk program
in less than 2 seconds. Each diskette can store 90K bytes.
AND SOFTWARE, TOO
HORIZON includes the North Star Disk Operating System and
full extended BASIC on diskette ready at power-on. Our BASIC,
now in widespread use, has everything desired in a BASIC, in¬
cluding sequential and random disk files, formatted output, a
powerful line editor, strings, machine language CALL and more.
EXPAND YOUR HORIZON
Also available—Hardware floating point board (FPB); addi¬
tional 16K memory boards with parity option. Add a second
disk drive and you have HORIZON-2. Economical serial and
parallel I/O ports may be installed on the motherboard. Many
widely available S-100 bus peripheral boards can be added to
HORIZON.
QUALITY AT THE RIGHT PRICE
HORIZON processor board, RAM, FPB and MICRO DISK SYS¬
TEM can be bought separately for either Z80 or 8080 S-100 bus
systems.
HORIZON-1 $1599 kit; $1899assembled.
HORIZON-2 $1999 kit; $2349 assembled.
16K RAM—$399 kit; $459 assembled; Parity option $39 kit; $59
assembled. FPB $259 kit; $359 assembled. Z80 board $199 kit;
$259 assembled. Prices subject to change. HORIZON offered
in choice of wood or blue metal cover at no extra charge.
Write for free color catalogue or visit your local computer store.
North Star Computers
2465 Fourth Street • Berkeley, California 94710 • (415] 549-0858
COKlPLEflT
COMPUTER
CATALOGUE
RESOURCES
AND
TOOLS
We welcome entries from readers for the
“Compleat Computer Catalogue” on any
item related, even distantly, to computers.
Please include the name of the item, a brief
evaluative description, price, and complete
source data. If it is an item you obtained
over one year ago, please check with the
source to make sure it is still available at the
quoted price.
Send contributions to “The Compleat
Computer Catalogue,” Creative Coni'
puting, P.O. Box 789-M, Morristown, NJ
07960.
BOOKS AND
BOOKLETS
MICROCOMPUTER
TROUBLESHOOTING MANUAL
The newly published Microcomputer
Troubleshooting Manual is aimed at the
owner of a microcomputer who is not an
experienced technician, yet would like to
do minor maintenance and trouble¬
shooting on his microcomputer system.
The manual assumes no experience or
knowledge beyond that which the person
who programs his system in machine
language will already have. Basically, the
manual tells you how to interpret the
symptoms of an ailing system and presents
a systematic technique for locating their
causes. There is no theory here, just a few
simple procedures to follow when things go
wrong. Since most causes of system
malfunction are relatively simple, this 20-
page manual might be just what you’re
looking for. $5.
Pat Rankin. Micro-Info Assoc., Box
849, Castroville, CA 95012.
BRAIN TICKLERS
This 30-page booklet, “A Collection of
Brain Ticklers for Everyone,” is a collec¬
tion of about four dozen problems (with
solutions). A few are fairly well known
among puzzlers, such as Crossed Ladders,
but most are refreshingly new, and cleverly
illustrated. $1.75.
Taylor Associates, 59 Middlesex Turn¬
pike, Bedford MA 01730
VENDOR
LITERATURE
BEGINNER’S GUIDE TO SMALL
BUSINESS COMPUTERS
A new booklet from Digital Equipment
Corporation, designed to unravel the
mysteries of small business computing
systems, details a step-by-step approach to
matching computer capabilities with
business needs.
Digital Equipment Corporation, Com¬
munications Services, Brochure EA 07430,
444 Whitney Street, Northboro, MA
01532.
HP MX SYSTEMS BOOKLET
A new 124-page booklet that includes
nearly all published data sheets about HP
21 MX-based computer systems is
available without cost from the Hewlett-
Packard Company. The HP 21 MX family
are high-performance small computers
whose flexibility make them ideal as
building blocks for scientific measurement
and control systems, disc-based systems
and as distributed network stations. Also
discussed are memory systems, extenders,
hardware and microprocessing accessories.
and data communication, terminal and
instrumentation interfaces.
Also available is a new 60-page catalog
of all currently available real-time execu¬
tive software for the 21 MX computers and
1000 systems.
Inquiries Manager, Hewlett-Packard
Co., 1501 Page Mill Road, Palo Alto, CA.
94304.
ORGANIZATIONS
MUMPS USERS’ GROUP
The MUMPS Users’ Group (MUG)
offers literature and meetings on people
interested on medical, educational, com¬
mercial, and other applications. In par¬
ticular, a $2 “Book of MUMPS” is
available, which contains a summary of the
MUMPS language, information about
implementations of MUMPS on the
micro, mini, and large computers, 230
different MUMPS applications and their
sources, names and addresses of over 40
MUMPS vendors, and document lists.
Also available is the Standard MUMPS
Pocket Guide at $1 per copy; this guide is a
concise technical summary of the complete
MUMPS language.
MUMPS Users’ Group, 700 South
Euclid Ave., St. Louis, MO 63110.
COMPUCOLOR USERS
GROUP
Dedicated to the exchange of programs
and technical data for the 8001, the
Compucolor Users Group plans to issue a
news bulletin, covering topics such as how
to concatenate tapes and disks. For each
accepted program, a member will receive in
return a number of other programs. The
initial membership fee of $10 covers
duplicating and mailing costs. Among
present programs are Blackjack, a “fan¬
tastically illustrated” version of Star Trek,
illustrated slot machines, etc. The group
hopes to exchange recorded media rather
than program listings.
Compucolor Users Group, c/o S.P.
Electronics, 5250 Van Nuys Blvd., Van
Nuys, CA 91401. Send a large self-
addressed envelope.
14
CREATIVE COMPUTING
COMPUTERS
OHIO SCIENTIFIC
CHALLENGER III
The Ohio Scientific Challenger III
contains a new triple-processor CPU board
“that can run virtually all published
software available today for
microprocessors at a very small cost
increase over comparable single-processor
computers.” Equipped with three
microprocessors, Challenger III runs 6800,
6502, 8080 and Z-80 programs. Challenger
III comes standard with the OS-65D Disk
Operating System. One application of the
Challenger III is for personal-computing
experiments with the three processors.
Personal finances, strategic games, home
and business applications are among the
many applications. For advanced users a
software processor status switch is
available so that multiple-processor
programs can be written. This option also
includes a one-megabyte paper and user
programmable vectors for both the 6502
and 6800 allowing real-time multitasking
operation.
Ohio Scientific, 11681 Hayden, Hiram,
OH 44234.
RCA HOBBY COMPUTER KIT
A new, expandable, low-cost hobbyist
computer kit, called COSMAC VIP—
Video Interface Processor— is now
available from RCA Solid State Division
to permit the hobbyist to assemble a
microcomputer with which he or she can
create and play video games, generate
graphics and develop microprocessor
control functions. The VIP is a complete
computer on a printed circuit card, offering
a complete operating system in only 4K bits
of ROM. VIP’s output directly interfaces
with a monochrome CRT display or, when
used with an FCC-approved modulator, a
TV receiver. Programs can be generated
and then stored in an audio cassette tape
recorder for easy retrieval and use. The
VIP features a single 8-1 /2x 11-inch PC
card with the CDP1802 microprocessor,
2,048 byte RAM using 4K-bit static
RAMs, single-chip graphic video display
interface, built-in hexadecimal keyboard,
100-byte-per-second audio tape cassette
interface and simple wall-plug regulated
power supply. RAM capacity can be
doubled on the card to 4,096 bytes by
adding four 4K-bit devices, and can be
expanded to a total of 32K bytes by adding
further memory capacity through a 44-pin
connector socket in the card. Parallel I/O
expansion to 19 lines can be achieved on
the PC card for such purposes as music
synthesizers, relays, a low-cost printer or
an ASCII keyboard. $275..
RCA Solid State Division, Box 3200,
Somerville, NJ 08876.
POLYMORPHIC SYSTEM 8813
The PolyMorphic System 8813 is a
compact complete disk-based microcom¬
puter. The central unit, no larger than a
stereo component, includes 16K bytes of
RAM and room for three mini-floppy disk
drives. Included in the package is a video
monitor, keyboard with cable, and com¬
plete system software on diskette. System
software allows you to put the system to
work immediately, running applications in
either assembly language or in fully
extended BASIC. The small separate
keyboard permits convenient use of the
system at desk or table. The high-speed
video display exhibits results in graphics
and alphanumerics. Because it uses mini¬
floppy disks, the 8813 allows convenient
storage and fast access to programs and
data by means of simple user commands.
Prices start at $3250.
PolyMorphic Systems, 460 Ward Drive,
Santa Barbara, CA 93111. (805) 967-0468
QUAY 8000 COMPUTER
The Quay 8000, a complete S-100 bus
system based on the Quay 80 AI (Z-80
CPU) kit, includes a 12-slot mother board
with all connectors and card guides, an 18-
amp power supply. Quay 80 AI, Quay 80
SMB, 8K Static RAM board, wood grain
cabinet, and 4K BASIC on cassette tape.
The Quay 8000 is a complete kit requiring
only a terminal. The popular Quay 80 AI
CPU includes the serial I/O for RS232-C
or 20-ma terminals, a jump-to-start
monitor in UVPROM, sockets for up to
4K of UVPROM, IK ofstaticRAM,anda
2708 UVPROM programmer. $1095.
Quay Corp., Box 386, Freehold, NJ
07728. (201) 681-8700.
TERMINALS
HAND-HELD MICROTERMINAL
The size and shape of a pocket
calculator, RCA Solid State’s new
COSMAC Microterminal CDP18S021
offers a low-cost, low-power, non-hard¬
copy alternative to the conventional, more
expensive teletypewriter data terminal.
Together with its Utility Program on an
associated ROM, the Microterminal
provides a convenient means of controlling
a COSMAC microprocessor-based
system, reading and modifying memory,
and providing hexadecimal I/O capability.
It is specifically suited for use with the
COSMAC Evaluation Kit CDP18S021 or
the COSMAC Development System
CDP18S005, but it can readily be designed
into user-built systems to provide control,
communications, and debugging func¬
tions. Requiring less than 375 mA at 5V dc,
the Microterminal is suited for portable or
battery-operated applications. The
Microterminal keyboard is used to enter
data and memory addresses through the
standard hexadecimal input keys. Eight
control functions are regulated by seven
additional keys and a switch which selects
either continuous or single-cycle program
execution. Specially designed for
microprocessor applications, a new
600mA, 5V power supply, the
CDP18S023, is also available. This supply
is capable of powering both the Microter¬
minal and the COSMAC Evaluation Kit
augmented with four kilobytes of
CDP1822S RAM. The power supply
operates directly from any standard 115V
50/60 Hz outlet. The Microterminal is
$140 andthe Microsupply $25.
RCA Solid State Division, Box 3200,
Somerville, NJ 08876.
JAN/FEB 1978
15
HEXADECIMAL KEYPAD
FOR MMD-1
Two data entry and display keypads
have been introduced by E&L Instruments,
Inc. as accessories for their Mini-Micro
Designer (MMD-1) training and develop¬
ment microcomputer. One keypad is
furnished with a two-digit hexadecimal
LED display expandable to six digits.
MMD/HEX-1 and MMD/HEX-2
keypads provide the MMD-1 user with a
low-cost, convenient method for program¬
ming with the 4-bit binary hexadecimal
code. The simple calculator-type 16-key
array with eight additional function keys
permits the user to execute programs,
modify or examine the contents of memory
and registers and monitor program perfor¬
mance.
A factory-programmed HEX L/D
PROM for hexadecimal conversion
replaces the HEX PROM originally
supplied with the MMD-1. One pair of 0.3-
in. high LED hexadecimal displays is
furnished with each MMD/H EX-2 keypad
and two additional pairs are optional.
Displays may also be added to the
MMD/HEX-1 keypad.
The assembled MMD/HEX-1 is $125;
$105 kit. The assembled MMD/HEX-2 is
$185; $155 kit including the pair of dis¬
plays.
E&L Instruments, Inc., 61 First St.,
Derby CT 06418. (203) 735-8774.
TERMINAL FOR
HOBBY MARKET
Anderson Jacobson, Inc. (AJ), has
entered the hobby market with an I/O
terminal priced for the serious hobbyist.
Originally selling for over $4,000, the AJ
841 is an IBM Selectric terminal and off¬
line typewriter that has been completely
refurbished. It includes a built-in ASCII
interface. $995.
Steve Tritto, Anderson Jacobson, Inc.,
521 Charcot Ave., San Jose, CA 95131.
(408) 263-8530.
PERIPHERALS
INTEGRAL IMPACT PRINTER
Integral Data Systems, offers a full-
feature, dot-matrix impact printer design¬
ed for use with mini or micro-computer
systems. Printing at rates to 120 cps with up
to 132 characters per line, the Integral
MULTICOLOR GRAPHIC
TIMESHARE PLOTTER
Microprocessorr-based circuits in this
new ISO A3 (28 by 40 cm; 11 by 17 inch)
flatbed timeshare plotter improve
operating efficiency to reduce timeshare
computer and transmission costs. The
four-color Hewlett-Packard Model 7221A
Graphic Plotter features internal arc and
circle generation, and user-defined dashed
line patterns. Any sequence of plotter
instructions can be stored in the buffer
memory as macro-instructions for recall as
many times as needed. Up to 64 different
macro-instructions can be stored at one
time. Typical users of the Model 7221A
include financial, administrative, scientific,
engineering, and manufacturing personnel.
Multicolor plots are especially useful in
engineering modeling, plots of more than
one measurement, manufacturing produc¬
tion control, numerical control verifica¬
tion’ manpower loading, and in wide areas
of mathematics, physics, and chemistry.
Color graphics are achieved through
programmable pen changing. $4600.
Inquiries Manager, Hewlett-Packard
Co., 1507 Page Mill Road, Palo Alto, CA
94304.
Impact’s standard features include an RS-
232 and current-loop serial interface,
enhanced mode (double-width) characters
and selectable character and line sizes.
Multiple copy capability on both fan-fold
and roll paper is also a standard capability.
Serial baud rates of 110 to 1200 bits per
second are selectable, and for those who
prefer a parallel interface, that capability is
also provided. Switch settings select
character sizes and line length from 80 to
132 characters per line. $475..
Integral Data Systems, Inc., 5 Bridge
Street, Watertown, MA 02172. (617) 926-
1011 .
MISC.
HARDWARE
CONTROLLER WITH S-100
COMPATIBILITY FOR
MICRO-DISKETTE DRIVES
“The Wangco8201 Micro-Controller for
“micro-sized” 5!4-inch diskette drives
provides a general-purpose host interface
for 6800 and 8080-based microcomputer
systems, minicomputers and other byte-
oriented systems. One version of the 8201 is
pin-compatible with the industry standard
S-100 bus. A single printed-wire board
plugs directly into the S-100 connector.
The 8201 uses the Intel MCS 8048, a
microprocessor providing IK of ROM,
RAM and I/O ports on a single chip.
Formatting performed by the 8201 Con¬
troller is of a soft-sectored, modified IBM
type of 16 sectors per track, 128 bytes per
sector. The Micro-Controller provides for
a 128-byte sector buffer or multiple sector
transfer without buffering. Unique func¬
tions of the 8201 include a diagnostic
command which causes self-test operations
to be performed on all diskettes, and a
duplicate function which automatically
copies diskette information from one drive
to another at one command from the host.
The Wangco 8201 will control up to four
drives. $490.
Wangco, Inc., 5404 Jandy Place, Los
Angeles, CA 90066. (213) 390-8081.
16
CREATIVE COMPUTING
GRAPHICS IN EDUCATION
"The 4051 enables an
ideal learning technique: one-to-one
dialogue with graphic examples."
Alfred Bork
University of California, Irvine
Imagine a teaching
assistant who continually
involves students with
intriguing graphic
demonstrations. Who
stays close enough to
each student to critique
answers and review material
immediately after testing.
Who tutors according to
individual interests and
learning rates.
Dr. Alfred Bork brings
that kind of assistance
into his physics classes.
It's Tektronix Computer
Graphics. For example, the
4051, pictured here, works
as a low-cost, off-line or
on-line learning device to
help students study energy,
gravity, momentum, and
dozens of other subjects
via fascinating simulations
and graphic metaphors.
It’s a big assist to self-paced
methods. To testing. Even to
course management.
Whatever your subject
matter, whoever your
students, the 4051 makes
learning a very memorable
experience. For a video tape
on Computer Graphics in
Learning, application
or product literature, please
write: Institutional Market
Manager
Tektronix, Inc.
Information Display Group
RO. Box 500
Beaverton, Oregon 97077
Tektronix Datatek NV
RO. Box 159
Badhoevedorp
The Netherlands
Tektronix
Copyright © 1977, Tektronix, Inc. All rights reserved.
MUSIC FOR SW OWNERS
The Newtech 68 music board enables the
user to generate music, sound effects,
rhythms, Morse code, and touch-tone
synthesis. The 68 music board, designed for
the Southwest Technical Products Corp.
6800 computer, comes fully assembled and
tested. It consists of a digital-to-analog
converter, audio amplifier, speaker,
volume control and phono jack for
convenient connection to an external
speaker or home audio system. The Users
Manual includes sound-effects programs,
test routines, listings of a BASIC program
for writing musical scores, and a 6800
assembly-language routine for playing
them. An AC-30 compatible cassette
contains programs from the Users Manual
and software for pre-coded songs. $59.95.
Newtech Computer Systems, Inc., 131
Joralemon St v Brooklyn, NY 11201.
• ' \ n- * ]
... •; \\
AJM '0e 5 fjHfflfc f /
fretpttucf j : * : : : : : I
Meter |l : j ( :;j [ I
FREQUENCY METER
Automated Industrial Measurements
(AIM) has announced a frequency meter,
AIM-1005, that may be directly interfaced
with 8-bit microcomputers. It has 13 bits of
resolution plus overrange, and has eleven
time-base ranges, from 10 microseconds to
one hour. AIM-1005 is interfaced with the
microcomputer as if it were memory, and
can be located in 14 different locations.
These locations are controlled with
switches on the board, as is the time-base
range. It is accurate to within±1 count over
the entire operating temperature range of
0°C to 70°C. The input frequency range is
from DC to 25 MHz minimum. The input
can be TTL, or the input comparator may
be used to provide ±15 volts of common
mode as well as a high-impedance input.
An optional input is an AIM-1003, which
allows one of AIM’s transducer digitizers
to be connected using only a twisted pair of
wires. The input connections can be made
from standoffs on the top of the board, or
through the edge connector.
If real-time measurements are required,
an external reset is provided which allows
the start of the count period to begin when
the reset is removed. The microcomputer is
informed that a real-time measurement is
taking place by having an external reset
and status flags as part of the first data
byte.
The complete frequency meter is on a 4"
by 4|/$" PC card with a 40-pin edge
connector with contacts on 0.1" centers.
Because of its compact size, AIM-1005 is
available mounted as a daughter board on
the larger microcomputer cards, such as
the Altair or IMSAI, offered as an option
by AIM for $30 additional. AIM-1005 will
also fit into any 4>/2" card-cage system, such
as the Zilog Z80 or the Pro-Log systems.
$178.
Barry Hilton, Automated Industrial
Measurements Inc., P.O. Box 125,
Wayland, MA 01778. (617) 653-8602.
VIDEO TERMINAL BOARD
A low-cost video terminal board design¬
ed around the Mostek 3870 microcom¬
puter from Vectron is sized to fit into S-100
systems, but may also be used in stand¬
alone applications. It features both ASCII
and BAUDOT serial interfaces, and
requires only the addition of a standard
ASCII encoded keyboard and a TV
monitor to configure a complete full
duplex video terminal. Among the features
provided are full X-Y cursor control (both
absolute and relative), screen clear, clear to
end of line, page mode and autoscroll, 96
displayable characters, 16 line by 64
character display, plus multiple baud rates
up to 300 baud ASCII. In S-100 systems
the SCT-100 may be powered directly from
the unregulated+7 VDC bus (none of the
other S-100 bus pins is used). For stand¬
alone applications an on-board rectifier
and filter permit the operation of the board
directly from an external 6.3 VAC, 1.0A
transformer. Assembled and tested, $185.
A partial kit including the PC board, the
custom-programmed 3870 microcom¬
puter, and the character generator ROM is
$85, or a complete kit containing all
necessary components is $155.
Vectron, Box 20887, Dallas, TX 75220.
(214) 350-5291.
BIDIRECTIONAL I/O BOARD
Micrologic’s M712 general-purpose
bidirectional I/O board is specifically
designed to allow the Phi Deck cassette
system to be interfaced to an S-100
computer. The M712 requires only the
cassette drive and control logic, both user-
supplied, for operation with an Imsai, Sol
or other S-100 computer. $99.95 kit;
$119.95 assembled.
Byte Shops of Indianapolis, 5947 East
82nd St., Indianapolis, IN 46250. (317)
842-2983.
16K EPROM MEMORY KIT
Designed to plug into the popular S-100
bus, the Ibex memory board holds 16,2708
EPROMs. Unused 4K sections can be
disabled to allow RAM to exist within the
board’s address space. The board also has
provisions for a wait state to allow it to run
on a Z80 system. The kit comes complete
with sockets for all IC’s. $85, less
EPROMS.
Ibex, 1010 Morse Ave., Suite 5, Sun¬
nyvale, CA. 94086. (408) 739-3770.
IMPROVED M&R
RF MODULATOR
The “SUP ‘R’ MOD” is an improved
version of the RF modulator made by M &
R Enterprises as described in the Sept-Oct
issue of Creative. With the new unit, it is no
longer necessary to modify your television
set. The RF modulator is installed in your
computer and an isolation switch mounted
on the antenna terminals permits you to
switch between normal usage of your
television and the computer. The “SUP 4 R’
MOD” is recommended by APPLE Com¬
puter for use with its systems. “SUP 4 R’
MOD” is $24.95 plus $ 1.00 for postage and
handling.
M&R Enterprises, P.O. Box 1011,
Sunnyvale, CA 94088.
GIMIX VIDEO BOARD
The Gimix video board, assembled and
tested for use in SWTP systems, generates
16 lines by 32 upper-case characters, and
can be jumper-selected for 16x64 when
used with a 10-MHz video monitor. A
dual-port IK RAM can be jumpered to
the beginning of any IK memory segment,
which the processor can read or write as
though the memory were part of the
system. Text scrolling and cursor are
generated by software. $249.
Gimix also has an 8K EPROM board
for the SW 6800, and plans to offer a
motherboard, relay-driver board, serial
and parallel boards, etc.
Gimix, Inc., 1337 West 37th Place,
Chicago, IL 60609. (312) 927-5510.
18
CREATIVE COMPUTING
2400-BAUD
CASSETTE INTERFACE
Microprocessor programs and data can
be loaded and dumped from an audio
cassette eight times faster than the standard
300 baud with the new Wince cassette
interface. The interface also supports 300-
baud Kansas City Standard operation. It
interfaces directly to the Motorola 6850
ACIA. The 2 W x 5" module also contains
an RS-232 interface for standard baud
rates from 150 to 9600. $139.
Wintek Corp., 902 N. 9th Street,
Lafayette, IN 47904 (317) 742-6802.
ADAPTER CARD INTERFACES
PERSCI DISK TO S-100
INFO 2000 has an adapter card that
connects the PerSci Disk Drive Controller
to any S-100 bus. The INFO 2000 Adapter
now permits easy interfacing to the fastest
disk drive available in the low-priced line.
The INFO 2000 Adapter card includes
circuitry for an additional 3K of EPROM
and IK of fast RAM. The advantage to this
is that the user can place his entire
operating system and scratch pad in the
EPROM and RAM on the adapter and
free up all his system RAM for programs.
All that is required is that you purchase
four 2708 EPROM and two 2114 RAM
chips. The INFO 2000 Adapter kit can be
assembled in one hour. A prototype area is
included on the board for other features
such as a wait state if you require one.
INFO 2000 will provide all the necessary
details for assembly and adding the wait
state.
What the INFO 2000 Adapter owner can
now have is a complete operating system
(DOS), “intelligent controller,” 7K of
EPROM, 2K of RAM, all on one card that
plugs into the S-100 bus. Kit, $85.
INFO 2000, P.O. Box 3196, Culver City,
CA. 90230.
CONTROLLER IN A BOX
The CM-48 is a complete stand-alone
computer controller. It contains its own
crystal clock (for accurate time-keeping),
IK of EPROM for program storage, 64
bytes of RAM data storage, 27 I/O lines, a
few wire-wrap sockets for relay drivers,
ALL TOGETHER NOW!
The acclaimed Equinox 100® mainframe kit ($799) is now
a complete S-100 system.
Because now there is an Equinox 100® I/O interface kit
($120) that handles the hard work of interfacing all your
peripherals.
And Equinox 100® 4K memory kits ($109). Assembled 8K
memory boards ($188). EQU/ATE® editor/assembler and
BASIC-EQ® software on cassettes.
It all goes together. It all works together. It’s all together
now at special system prices.
See The Equinox System® at your local computer shop.
Call toll-free to 800-648-5311. BAC/MC accepted. Or write
Equinox Division, Parasitic Engineering, P.O. Box 6314,
Albany California 94706.
etc., all in an aluminum case. The CM-48
is built around the new Intel 8048
microprocessor, fast (2.5us cycle time) and
efficient (all instructions are 1 or 2 bytes
long and require only I or 2 cycles). The
processor includes a built-in 8-bit counter
which can also be used as a precision
timer.
~ The power, flexibility, and size of the
Computer Module makes it ideal for
environmental control (such as heating
and cooling based on time of day, inside
vs. outside temperature, etc.). It also
makes a great burglar alarm or remote
security station. Or, it can be used as a
universal interface box, such as RS-232 to
parallel ports or as a flexible interface to
DVMs and other test equipment. Com¬
puter Modules can also control robots,
trains, automotive accessories, telephone
dialers, slide projectors, etc.
The CM-48 with 8048, crystal oscillator,
and 2708 IK EPROM, requires + 12v, ±5v;
$149. The CM-48-1 with 8748 microproc¬
essor and built-in IK EPROM, requires 8-
12 volts unregulated; $249. The CA-80/48
Cross Assembler is a full-feature 8K
assembler that makes it easy to compose,
edit, print and store programs for the 8048-
based Computer Modules using any 8080-
based computer system. $48.
Oliver Audio Engineering, Inc., 7330
Laurel Canyon Blvd., North Hollywood,
CA 91605. (213) 765-8080.
JAN/FEB 1978
19
PROCESSOR TECH SEMIKITS
The new 16KRA RAM board from
Processor Technology is the first in a series
of memory modules offered in fully-
assembled and wave-soldered form with
pretested ICs. Semikits are priced about
the same as competing kits according to the
firm. Believed to be the first modules for
small computers available in this form, the
semikits memory modules will bring an end
to such common kit-building problems as
bad solder joints, heat-damaged com¬
ponents and faulty integrated circuits. Full
documentation is provided with step-by-
step procedures for the user to test and
burn-in the boards. Features of the first
semikit include a 16,384-byte memory,
invisible refresh and worst-case access time
of 400 nsec. Each 4096-word block is
independently addressable for maximum
system flexibility. Power is typically 5
watts, the same as most single 4K memory
modules. Backup power connection is
built-in. $369.
Processor Technology Corp., 6200
Hollis St. Emeryville, CA 98608. (415) 652-
8080.
32K MEMORY BOARD
Artec Electronics has a 32K static
memory board in modular form designed
primarily for microcomputer hobbyists but
also applicable for small business uses.
Designated. 32K-100, the board is fully
compatible with the S-100 data bus and
speed-compatible with Zilog Z80-based
systems. The basic board with all support
circuits, power regulator, 8K bytes of
memorv and assemblv manual sells for
$290.
Additional 8K bytes of static RAM cost
$255 each, and a full 32K memory board
sells for $1,055.
The 32K-I00 requires a single +8 voltage
only, with a power usage of 3 amps; access
time of the DMA-compatible board is 250
nanoseconds. DMA compatibility allows
users to access memory directly without
going through the central processing unit
(CPU) on the microprocessor board.
The 32K board, fully buffered on all
address and data lines, also features battery
back-up (allowing operation at reduced
power consumption), and a “bank select”
provision so users can select the blocks, or
banks, of memory they want to address.
Artec, 605 Old Country Road, San
Carlos, CA 94070. (415) 592-2740.
D/A CONVERTER
This self-refreshing four-channel D/A
converter for the S-100 bus has instructions
for alternate connection to Digital Group
Systems, and includes complete output-
port address decoding and tri-state bus
connection. The converter is eight bits and
can be set to cover any range within + 0 to
10 volts. The D/A converter operates at a
rate of 50,000 conversions a second,
updating the four sample hold outputs
from a scratch-pad register. Circuit opera¬
tion, as seen from the computer, is
completely static—needing no software
refresh or wait states — andis intended for
use with output commands in BASIC
programs. Computer checkout requires a
simple four-byte program and calibration
is limited to two minor adjustments. PC
board, $34; kit with all components, $69;
completed and tested board, $99.
Pinnacle Products, Box 3155, Talcott-
ville, CT 06066
64K RAM BOARD
A fully-tested 64K RAM board offered
by Extensys meets S-100 computer inter¬
face specifications, including Altair and
Imsai units, and allows memory addition
up to 1,048,576 bytes. The 5"xl0" PC
board contains 65,536 bytes and has
hardware provision for bank-switching to
add over one million bytes, far beyond
normal microprocessor capacity. The
board also allows memory address to be set
in 8K-byte increments and provides
hardware-write protection in 16K-byte
increments. Voltages are +12 at 300 mA, +5
at 750 mA, and -5 at 1 mA. Cycle time is
500 nsec, with 400 nsec access time.
Memory overlap protection is provided to
ensure no conflict with existing memories.
All boards are fully assembled, tested, and
burned in. The 64K RAM board is $1,495.
A 32K board is offered at $895, and a 48K
board at $1,195.
Extensys Corp., 592 Weddell Drive,
Suite 3, Sunnyvale, CA 94086. (408) 734-
1525.
SOFTWARE
WORD-PROCESSING SYSTEM
Interactive Data Systems has developed
a word-processing system, IDSWORD1,
designed to run under MITS Disk Extend¬
ed BASIC. Some of the more important
features of the system are line editing,
global editing, merging, reformatting,
moving text, printing and form letters.
IDSWORD1 is a package consisting of
several programs. This fact is transparent
to the user but allows it to run on a
computer with 28K of memory. The user
selects the mode of operation from a menu
list and the control program executes the
appropriate program and gets control back
to select another mode. The system is
provided on a diskette. $250.
Interactive Data Systems, Box 290,
Owings Mills, MD 21117. (301) 486-6945.
“XIM” FOR KIM
“XIM” (Extended I/O Monitor) by
Pyramid Data Systems is a programming-
debugging package developed for the
KIM-1 Microcomputer. XIM features a
repertoire of 17 commands, four of which
are user-defined for expansion. XIM can
do operations such as block search, block
move, block compare, set break points,
display processor registers, and more. XIM
resides in less than 1K of core at 2000 to
23FO(hex) and it is ROM-able and easily
relocated to suit the user.
The cassette and paper-tape versions are
$12 and $10 respectively. A 45-page
manual with commented listings is includ¬
ed, shipped postpaid USA. NJ residents
add 5% for sales tax.
For more information, send an S ASE to:
Pyramid Data Systems, 6 Terrace Ave.,
New Egypt, NJ 08533.
ANSI STANDARD FORTRAN IV
Technical Design Labs announce what is
said to be the first complete ANSI
STANDARD FORTRAN IV for a
microcomputer.” FORTRAN IV was
written exclusively for Technical Design
Labs and the Z80 by Small Systems
Services, Inc. FORTRAN IV is equipped
with many extensions that exceed the usual
ANSI standard requirements: data types
(integer*l, integer*2, real, doubleprecision,
complex, logical and string), named
common (equivalence, statement func¬
tions, implicit), full type conversion, full
library of scientific and string functions,
linking loader with automatic library
search (can link with assembler output),
full formatted I/O, sequential and direct-
access I/O, hex constants, and control over
placement of data and code areas (the code
can run from ROM). This FORTRAN is a
disk-oriented system. It runs in less than
24K with DOS, and both FDOS IV AND
CP/ M versions are available. The package
now includes both the floppy diskette with
20
CREATIVE COMPUTING
TERMINAL
EQUIPMENT
IBM 2741 - compatible or
standard ASCII (with Break and
Control code features). RS232-C
interface.
RECONDITIONED SELECTRIC
TERMINALS
CONTACT KEN PAYNE A
Da I-Data Inc. • 1111 W. Mockingbird Lane
Suite 1400 • Dallas, Texas 75247 • 214-630*9711
IBM Correspondence
or BCD Code .$795.00
• IBM 2741 Compatible
• RS232C Interface
ASC II Code .$995.00
• 300 Baud 200 Character
Print Buffer
• RS232C Interface
• Break and Control Code features
30 DAY WARRANTY
NATIONAL SERVICE AVAILABLE
object code and a user’s manual. $349.
Donna Galletti, Director of Sales,
Technical Design Labs, Inc., Research
Park, Building H, 1101 State Road,
Princeton, NJ 08540. (609) 921-0321.
NORTH STAR
EXECUTIVE SOFTWARE
XEK, a complete system executive
package for North Star users, available
from the Byte Shop of Westminster,
contains a disassembler capable of creating
files that may be left in memory when
changing from the disassembler to the
executive package for re-assembly. The
monitor software can accept input from
cassette tapes and paper tape as either
source or object files, as well as from the
North Star diskette system. In addition, the
assembler features a new auto-line editor
for the creation of source files. This editor
also extends to the modification of existing
object files. Another feature is the XEK’s
ability to handle up to six named files at
once that may be consecutively assembled
to form one object file. $48.
The Byte Shop of Westminster, 14300
Beach Blvd., Westminister, CA 92683.
(714) 894-9131.
MISCELLANEOUS
MICROCOMPUTER DESK
A desk specifically designed to house a
personal or business microcomputer
system is now available from Computer
Systems Design. The Microdesk can be
assembled without tools in five minutes.
The desk is constructed of high-density
vinyl clad board and measures 48" by 24"
by 28". A sliding shelf at convenient typing
height is provided for a keyboard. Also
included for equipment and books are two
fixed shelves, one of which is adjustable.
$96.50, FOB Wichita.
Computer Systems Design, 1611 E.
Central, Wichita, KS 67214.
MICRO-COMPUTER
REPAIR SERVICE
A new repair service called The Com¬
puter Doctor, Inc., has opened for
business. The company offers a full range
of repair and counseling services on all
brands of microcomputers, processors.
peripherals, and memory, and promises
two-day service in most cases. As an added
feature 1 he Computer Doctor has a unique
rebuild-it-yourself plan for kit builders
who are having trouble. The Computer
Doctor is Grant Snellen, a computer
engineer with over 15 years experience in
the industry, most of it in field services. He
has worked for Harris and Digital Equip¬
ment Corporations and was chief engineer
in charge of the design and construction of
M.I.T.’s Wallace Observatory. The Com¬
puter Doctor is open 6 days a week, from
noon to 10 PM.
The Computer Doctor, 12 Howard, St.,
Cambridge, MA 02139. (617) 661-8792.
S-100 CARDFRAME
PANEL SET
Objective Design announces the
availability of a starter set for the construc¬
tion of an S-100 cardframe and power
supply. The set includes front and rear
panels of 1/8 inch aluminum, prepunched
and drilled for maximum design versatility.
Complete instructions for the assembly of
both a full-sized 22-slot cardframe and a
ten-inch 12-slot model are included. Also
included is information on all required
parts and sources of supply, full assembly
instructions, and detailed plans,
specifications, and illustrations. $39.95. All
panel sets will be shipped insured freight
collect FOB Tallahassee, Florida.
Objective Design, Inc., Box 20325,
Tallahassee, FL 32304.
JAN/FEB 1978
21
Ill
STOCK CABLE ASSEMBLIES
Interconnect Cable Assemblies are
perfect for testing or connecting circuitry
within a board or for jumping from board
to board. Assemblies feature rainbow-
color-coded flat cable with 26 AWG
stranded conductors soldered and epoxy
encapsulated to popular top-entry plugs.
Plugs are available in 14 and 16-pin DIP
configurations to fit all standard sockets
and hole patterns. Pins are gold-plated
phosphor bronze for performance and
durability. Double-ended configuration
available in 2", 4", and 8" lengths. Single-
ended assemblies are offered in 12"and 24"
sizes. Prices from $3.75 - 4.35.
In stock at your local electronics
distributor or direct from OK. Machine
and Tool Corp., 3455 Conner St., Bronx,
New York 10475. (212) 994-6600.
DIP/IC INSERTION TOOL
WITH PIN STRAIGHTENER
The OK INS-1416 DIP Insertion Tool
inserts both 14 and 16-pin IC packages into
sockets or predrilled boards, with one-
hand operation. Narrow profile permits
tool to work on densely-spaced patterns,
while insertion mechanism assures ac¬
curacy as well as excellent “feel.” The tool
includes a pin straightener built into the
handle. Insert the IC, rock it on the
straightening saddle, and push down on the
tool. An automatic ejector delivers the IC
ready to be placed in the insertion end for
installation in your board or socket. $3.49.
0,K. Machine and Tool Corp., 3455
Conner Street, Bronx, NY 10475.
STAR TREK
STAR TREK IN COBOL
Rick Jones has a COBOL version of Star
Trek, to be run under IBM CICS on a 3270
CRT, using special CICS maps “which
play very well.” It is based on Bob
Leedom’s Super Star Trek, with
modifications and enhancements to exploit
the advantages of a CRT, and is composed
of “top-down” modules; it can be easily
modified for individual tastes. The
COBOL source code and CICS maps
amount to about 3000 lines. $5 for full
source listings; $20 for 9-track magnetic
tape ($5 refund if you provide tape, or
when you return Rick’s tape).
Rick Jones, 15702 Horace St., Granada
Hills, CA 91345.
CALCULATORS
REPLAY PORTABLE
CALCULATOR
A new portable calculator from Texas
Instruments has an exclusive replay feature
that allows numbers to be recalled on a
display without having to print them out
on tape. The TI-1680 permits the user to
recall up to 20 entries, both number and
function, from a memory stack to check
accuracy and for editing and updating
purposes. Each entry can be changed or
altered without having to waste time re¬
entering an entire calculation. The user sees
exactly what’s been entered; what effect
changing part of a calculation has on the
final result, and he is able to recall incorrect
entries to make changes. $29.95, suggested
retail.
Texas Instruments Inc., Inquiry
Answering Service, Box 53 (Attn: TI-
1680), Lubbock, TX 79408.
HP CALCULATOR WITH
CONTINUOUS MEMORY
The new Hewlett Packard HP-29C
calculator features 98 fully merged
program steps, full editing functions and
continuous memory. Designed for use by
engineers, scientists, technicians, surveyors
and students, the HP-29C offers, at a
keystroke programmable price, many of
the features usually found only in fully
programmable calculators, including three
subrouting levels, 10 addressable labels
and indirect addressing. Fully merged
programming allows as many as four
keystrokes to be combined into a single
step of memory. CMOS memory chips
allow programs and data be retained in
memory for long periods after the
calculator has been turned off, with little
battery use. In addition to its programming
and editing functions, the HP-29C has all
of the standard functions of HP advanced
scientific calculators. $195.
A handheld printing version of the HP-
290, the HP-I9C, will be available at $345.
Inquiries Manager, Hewlett-Packard
Co., 1507 Page Mill Road, Palo Alto, CA
94304.
HP CALCULATOR/WATCH
A new instrument that resembles a
digital watch, is smarter than many pocket
calculators, and performs more than three
dozen functions, was introduced by
Hewlett-Packard. The six-ounce HP-01
has six interactive functions: time, alarm,
timer/ stopwatch, date/calendar,
calculator and memory. Twenty-eight keys
(six finger-operated, 22 stylus-operated)
enables the user to operate the HP-01. It
also features 12 different display modes or
indicators. The information is displayed
with bright light-emitting-diodes. Price of
the HP-01 is $650 for the stainless-steel
model and $750 with gold-filled case.
Hewlett-Packard Co., Inquiries
Manager, 1501 Page Mill Road, Palo Alto
CA 94304.
Daring ideas are like chessmen moved
forward; they may be beaten, but they
may start a winning game—Goethe
22
CREATIVE COMPUTING
Since 1972 we've been a place where
people and computers get together.
Do you know anyone who wants to learn how computers
work? Or how to program? Without masses of technical
jargon? Then send them to People's Computers'. We’re a
bimonthly magazine devoted to demystifying computers.
Our pages aren’t padded with ads—they’re packed with
articles, tutorials, interviews, listings, games, reviews
and letters. People's Computers covers:
Computerese - basic principles about how computers
work; tutorials on how to program.
Education - ready-to-use programs; tips on how to write
computer-assisted educational materials; reports on
educational uses of computers.
Blue Sky - Tiny BASIC and Tiny PILOT were born in our
pages; there’s now talk of robots and . ..
People & Computers - examination of the growing impact
of computers on our lives and society.
Fun & Fantasy - computer games; whimsical odds and
ends; and our swashbuckling hero—FORTRAN Man!
Some Comments about People's Computers:
“One of the first, if not the first, of the people-oriented
computer publications ... At $8 a year, it is a good
bargain. You’ll like it.” Kilobaud
“The editorial flavor is . . . intended to be readable and
enjoyable for the neophyte. Our resident non-computer
people at Byte grabbed the first issue so quickly that it
became difficult to find a copy . . . Should be sampled
to be believed.” Byte
“ People's Computers has been plugging away for years as a
force for good in the community”. Personal Computing
“For the novice as well as the experienced computer
user ... an informal style, many useful annotations
... a sounding board for novel ideas.” Computer Notes
“Here’s a first rate magazine for people who want to know
about minicomputers and microcomputers . . . Power¬
ful, low-cost technology is taking off — keep up with it
by reading People's Computers ”. The Workbook
people’s computers
Please start my one-year subscription (six issues) to People's Computers and bill me for just $8.
NAME _
ADDRESS _
CITY/STATE _ZIP_
Outside the U.S., add $4 for surface postage. Airmail rates on request.
Unconditional Guarantee: If you ever wish to discontinue
your subscription for any reason , we will refund the
complete amount for the remainder of your subscription.
□ Visa Card Number _
□ Mastercharge Expiration Date _
Send this form or a facsimile to: People's Computers , Dept 54, 1263 El Camino Real, Box E, Menlo Park CA 94025
HI B1H U D H IB D IB II IB (B IB (3 DIB IB 1111H) IB IS H HU M M IS H IS H HI 19 IB IB IB IB H M IB
1 m
i Programming Techniques: i
| File Structures (Part 2) John Lees gj
Linked lists are one way to simplify the problems of
maintaining a random-access file. At the cost of a little
processing time and file space, linked lists allow you to do
away with dependence on physical ordering of records
and not worry about record placement when adding or
deleting records.
A linked list is a logically-ordered list stored in random
physical order. The name, linked list, comes from the fact
that the information needed to find the next logical record
in the file is contained in the current record. This informa¬
tion is called a pointer. A linked list file record might look
like this:
POINTER
AUTHOR
TITLE
and a file like this:
0
1 °
1 HEINLEIN
DATA
3
ASIMOV
DATA
1
GUNN
DATA
The special first record simply contains the pointer
(block number, sector number, or memory address in a
practical implementation) to the first real record in the file.
After getting that information, a program can access the
file in logical order by following the pointers from record
to record. By convention a “0” is used in the last record to
indicate that it points to no other record. Our sample file is
in alphabetical-by-author order and the pointer is a record
number.
Now this might seem to be rather cumbersome until you
consider the process of adding or deleting a record. To
add, for instance, BESTER to our file, we simply stick the
new record on the end of the file or in a hole left by a
deleted record, determine that the new record goes
logically after ASIMOV, take the pointer from the ASIMOV
record and put it in the BESTER record, point the ASIMOV
record at the BESTER record, and we’re done. No fuss, no
muss, no ugly resorting and moving records around in the
file. The file now looks like this:
0
0
HEINLEIN
DATA
4
ASIMOV
DATA
1
GUNN
DATA 1
3
BESTER
DATA
Deleting is even easier, especially with the double-
Ijnked list we’ll discuss next. To delete a record you must
change the pointer in the record pointing to the record you
want to delete to point to the record pointed to by the
deleted record. To phrase that another way, find the
record pointing to the record you want to delete, replace
the pointer in that record with the pointer in the deleted
record, unlinking the deleted record. Again, no physical
reordering of records is required.
In most practical applications, deleted records are
actually linked together to form a “file” of deleted records.
Then when you want to add a record, you find space for it
by taking a “record,” now just a chunk of space, from the
file of deleted records and using it for the new record,
deleting it from the file of deleted records and adding it to
the real file. If this method is used, a newly-created Tile is
initialized so that all the file space is records on the deleted
records file. Of course if records are not all of the same
length, that won’t work, and things get considerably more
complicated, but we won’t go into that here.
Nothing says that a linked list record can have only one
pointer and there are considerable advantages to devoting
space to at least two pointers. A double-linked list has
pointers in both directions so that the file can be searched
either forward or backward. Being able to find both
preceding and following record from the current record
also greatly simplifies deletion. Double linking oursample
file gives:
2
1
| 0 1 3 1 HEINLEIN
DATA
4
0
ASIMOV
DATA
1
4
GUNN
DATA
3
2
BESTER
DATA
The second set of pointers point to the previous record
and we’ve added to the special record a pointer to the last
record in the file so that the file can be searched
backwards. Adding a record to a double-linked list is much
the same as to a single-linked list; you just have two sets of
pointers to juggle.
A double-linked list can be made a ring by pointing the
last record at the first record and the first record at the last
record. That way processing can literally go around in
circles without ever having to start again at the beginning.
A common use of the linked-list organization is to
represent a tree structure in a file. Trees find great
computer-science application in game stategy and in
some types of data bases. With three pointers in a record,
you can define a binary tree (a tree with two branches at
each node) that can be traversed in either direction. An n-
ary tree can be defined by adding more pointers.
24
CREATIVE COMPUTING
To illustrate a simple binary tree file:
Binary Tree Record
PREVIOUS NODE
LEFT NODE
RIGHT NODE
DATA
Tree Structured File
i
To give some hint as to the possibilities of a data base
built around the structure of a tree (usually called a
hierarchical data base) consider the following diagram:
To stretch your mind even further, consider that it is
possible to keep a linked list in more than one logical
order. This is possible because the physical order of the
records is totally irrelevant. You can, by having a pointer
associated with each key field, have a file of names and
addresses linked in both alphabetical and zip-code order,
for instance. This can be quite handy in some applications
and is impossible with a physical sequential file.
It is also possible, andquite usual, for a record in a
linked-listdata base to be on more than one list at a time. In
the above example of a hierarchical data base, it is certain
that some authors, and some books, would appear under
more than one primary index level (Fantasy, Gothic, etc.).
Why duplicate the records? Just attach the same record to
different lists existing under different categories. This can
become very complicated. The design of such data bases
is not a task to be undertaken lightly.
To sum up linked list files: they are best suited to
applications that require very little straight sequential
processing and a lot of add or delete processing. Linked
lists also lend themselves well to representing non-linear
file structures and are heavily used in data-base
applications. ■
The Prices? Low!
The Stock? On Hand!
The Deadline For
Orders?
The Company?
Computer Enterprises!
Lear Siegler ADM-3A Kit
Credit
Card Price
$764
Cash
Price
$735
IMSAI 8080 with 22 Slots Kit
$614
$590
North Star Micro Disk
System Kit
$623
$599
Polymorphic VTI / 64 Kit
$182
$175
Comp. Enterp. Extender
Board with connector
$ 13
$ 12
Comp. Enterp. Cable A
for IMSAI
$ 14
$ 13
Seals 8K 250ns RAM
Assmbld.
$238
$229
Vector Graphic 8K 450ns
RAM Assmbld.
$234
$225
Vector Graphic PROM/
RAM Kit
$ 83
$ 80
George Risk ASC II
Keyboard Kit
$ 52
$ 50
Netronic’s ELF II RCA
COSMAC Microcomputer -
wired & tested
$146
$140
ORDER NOW FOR THESE
EXCITING NEW PRODUCTS!
North Star Horizon 1
Computer System $1497 $1439
North Star Horizon 2
Computer System $1871 $1799
IMSAIVIO-B Kit $ 234 $ 225
IMSAIVIO-C Kit $ 297 $ 286
Ask For Your FREE Computer
Enterprises Catalog Today!
Shipping charges: $10 per CPU on larger units; $1.50 per kit. $2.00 min.
per order.
Delivery is stock to 30 days on most items. Shipment is immediate for
payment by cashier’s check, money order or charge card. Allow 3 weeks
for personal checks to clear, N.Y. State residents add approp. sales
tax. Availability, prices and specs may change without notice.
Operating Hours:
M-W 10-5 E.S.T.
Th-F 10-9 E.S.T.
Closed Sat. & Sun.
Write or Call
computer
enterprise/"
P.O. Box 71
Fayetteville, N.Y. 13066
^ Phone (315) 637-6208 Today!
JAN/FEB 1978
25
SFS Walletsize
Space-Shuttle
Simulator
The SFS Walletsize, shown for the
first time at Personal Computing 77 in
Atlantic City, is a space-shuttle
simulator, designed and constructed
by a Philadelphia company with the
appropriate name of 2005AD, Inc. The
cabin itself, made of wood and metal,
stands only five feet tall and is about
four feet square, but the illusion is one
of the grandest yet seen at personal
computer trade shows.
As you sit down in the Pilot’s seat,
you roll yourself forward and become
totally involved in the dynamics of the
At computer shows, the staff of 2005AD wears
futuristic spacepeople costumes.
cabin. Overhead, lignting panels from
the Apollo program wink on and off,
while to your left and right aircraft
instruments display more information
than you can mentally process. The
major focus of the display is the three
TV screens (one a 25-inch high resolu¬
tion monitor) that display three
different types of computer-generated
video.
The Walletsize is flown using a
joystick, three slide controls and
numerous switches, and the name of
the game is simulated space flight. For
the novice, one program will allow
you to try landing your craft on a lunar
platform. The center screen displays
horizontal and vertical motion, the left
screen displays a side view of the
platform and the right screen displays
an overhead view of the platform. This
is probably the first time that a three-
dimensional simulation of lunar lander
has been played using a
microprocessor. Miss the landing plat¬
form and the screen displays caustic
comments on the depth of the crater
produced, the cost of the LEM just
destroyed and the amount of blood and
gore produced.
If flying it yourself is not enough to
satisfy your appetite for space travel,
the 2005 A D personnel will
demonstrate a more complex three-
dimensional docking program, in¬
volving not only roll, pitch and yaw, but
also X, Y and Z coordinates. Approach
is controlled by thrusters and retro
engines, and the entire simulation is
scored on accuracy, timing and fuel
consumption.
The Walletsize is programmed to
reflect the realities of flight physics,
and as such is a great learning device.
The craft is not limited to one type of
simulation, it can easily be
reprogrammed in BASIC to simulate
various types of air and space craft.
The simulation is written in
PolyMorphic Systems BASIC Version
A00. Within this program are calls to
machine-language subroutines and
PEEK and POKE statements to control
the interrupt structure and I/O devices.
Peripheral chips and cards on the
bus include a UART (TTY I/O), four
ACIA (terminal and printer I/O), four
CTC programmable counter/timers,
one USART (tape I/O) one PIA (16-bit
parallel I/O with handshake), sixteen
8212 (128-bit parallel I/O) and three
PolyMorphic video cards.
40K of memory is available on 4K
cards from various manufacturers.
Some I/O cards were purchased and
heavily modified; others were built
from scratch using a Vector wire
pencil. Timekeeping within the simula¬
tion is provided by a crystal-controlled
hardware time-of-day clock as well as
the real-time clock function of the
PolyMorphic System Basic. Analog
and audio output functions are per¬
formed by the Zilog CTC chips and by
interface circuits designed by 2005AD.
Switches and lights are interfaced
through parallel ports and custom-
designed circuits. All cards are con¬
nected to the S-100 bus in a modified
IMSAI chassis. The CPU is a modified
Z-80 card running at 2 MHz.
For those who feel they have the
computer expertise to duplicate the
workings of the ship, 2005AD will give a
start on the construction project by
supplying a 10-page set of blueprints
for the cabin woodwork at $15 per set.
This cost includes a free listing of the
program that was running in the
simulator during its recent trip to
Personal Computing 77. 2005AD Inc.
is at 2005 Naudain St., Philadelphia,
PA 19146. ■
SFS UALLETSIZE
Many of the controls and lights in the SFS Walletsize are for effect only, but the three video screens are for
real; they display Lunar Lander in three-dimensional simulation.
26
CREATIVE COMPUTING
Profile of Three Smart Electronic Games...
Auto Race
In all three games, it's them against you, they
know where you are, and they're out to get you.
Missile Attack
Football
Stephen B. Gray
With Milton Bradley’s Comp IV
(reviewed in the previous issue) you
can take your time guessing the
random number generated by the
microcomputer inside the case. But
with these three games from Mattel,
they — the cars, the missiles, or the
opposing team — are coming at you at
full tilt, and you’d better pay full
attention, right here and now. There’s
no time to fool around; you’ve got to act
immediately. So if you’re easily
frustrated, or unable to deal with fast-
moving real-time games, stay away
from this trio, because these three little
hand-held games soon separate the
men from the boys, and the boys from
the children.
Description
All three of these Mattel games are
about the size of a hand-held
calculator, 1x3x5 inches, weigh only a
few ounces each, and use a nine-volt
battery; each has a jack for an AC
adapter.
Auto Race and Missile Attack are
similar in that both use the Rockwell
B6000 calculator chip, with some of the
input/output lines modified. Both use a
vertical “LED stick” display with three
rows of seven vertical segments each,
topped by a two-digit segmented
numerical display. A three-position
slide switch at bottom right determines
in which lane you drive (Steering
Control), or from which of three sites
you launch your anti-missile missiles
(Guidance Control). Auto Race has a
Start/Reset switch; in Missile Attack it’s
called Arm/Off. The third control is
quite different: in Auto Race it’s a slide
switch with four Gear positions, 1
through 4, which determine how fast
the cars move; in Missile Attack, it’s the
Fire button, which launches your
rockets skyward.
Football has more complex rules and
a much more sophisticated display, so
it requires the Rockwell B6100 chip,
which has more ROM and more I/O.
The playing field is a horizontal LED
stick, with three rows of nine horizontal
segments each. Pressing the ST key
lights the Status display, showing
down (1 through 4), field position
(where the ball is, plus a symbol that
shows which side of the 50-yard line
the ball is on), and yards to go.
Pressing the SC or Score key shows
the home-team score, timing remain¬
ing in the quarter, and the visitor score.
Either the ST or SC key resets the field
for the next play, which involves a
running back making his way down the
field against five defensive tacklers.
The up-arrow and down-arrow keys
move the running back to his own left
or right; the left-and-right arrows
moves the running back toward the
opposite goal, the direction depending
on whether he’s on the home team or
visitor team. The K or Kick key may be
Missile Attack
used only on 4th down, and will kick
between 1 and 65 yards; the computer
decides whether to punt or to make a
field goal. The last control is a three-
position switch, for off, PRO 1 or PRO
2. In PRO 2 mode, the defense is
programmed to react 50 percent faster
than PRO 1.
Basic Operation
Auto Race is simple, just “race your
car up the track avoiding collisions
with oncoming cars.” (Sounds more
like a Demolition Derby than an auto
race.) You have to set the gear switch in
first before the game will start. Yourcar
is the bright blip that starts at the
bottom of the track and moves up. The
“collision cars” (dimmer blips) start at
the top and move toward you, one or
two at a time, but never three at a time,
fortunately. You move the steering
control left or right to avoid a collision.
If one of the collision cars hits you, it
pushes you back toward the starting
time, and you lose time on the “Lap-
Time Readout.” After you finish a lap,
your car is automatically returned to
the starting line, ready for the next lap.
In higher gear, the cars move faster,
and you’ve got to react faster. At the
end of four laps, the timer stops, you
read out your time, and compare it with
your previous best time, or with your
opponent’s.
Missile Attack is played almost the
same way, with several important
differences. The enemy missiles come
in, from the top, at only one speed, and
they can change direction. If only one
of the 20 attacking missiles hits your
city, at bottom center of the display,
you lose and the game’s over. You can
protect your city by always launching
your anti-missile missiles from the
center position, but this will give you a
minimum score. The game’s object is
JAN/FEB 1978
27
“to intercept as many of the 20 at¬
tacking missiles per game as high in
the sky as possible.” If you hit an
attacker in the 6-mile zone (top of the
screen), you score 6 points; a hit in the
5-mile zone and get 5 points, etc.
Football is meant for two players,
although a child too young to under¬
stand the rules of the game could play it
all by himself on the basis that he must
shift back and forth, waiting for an
open path down the field, and, because
the display field is only 9 yards long, if
he has to go 45 yards for a touchdown,
he must run the whole length of the
field five times to score. If he makes it to
the end of the field in a single run, the
computer automatically returns him to
the start so that he may continue
running. However, the opposing
players can move from side to side as
well as forward or backward, and as the
running back scoots down the
sidelines, he may be tackled from the
front, the side, or from behind. The
player who made the tackle will blink
on and off, to show his position.
Automatic scoring provides 7 points
for a touchdown, 3 for a field goal. Just
as in real football, by the way, you get
four downs to go 10 yards.
Sound Effects
All three of these games contain
what the schematics refer to as a
“piezo-ceramic speaker,” and which
Gulton, the original manufacturer of
the audio-sound source used in these
games calls a “ceramic audio tone
transducer.” A thin disk of piezo¬
ceramic material, which changes
its diameter when an electrical signal is
applied across its surface, is bonded to
a thin metal disk about an inch in
diameter; total thickness is about half a
millimeter. The metal disk acts as a
restraining spring force on one surface
of the ceramic, so that when the
diameter of the piezoceramic disk
changes, the bonded assembly will
bend from a flat shape into a convex or
concave shape, depending on the
polarity of the signal. If the applied
signal has a frequency of 2 kHz, the
metal disk will vibrate and produce
sound at a 2-kHz frequency.
Gulton recommends the CATT as an
economical, low-profile sound source
for applications such as electronic
games, smoke detectors, appliance
timers, alarm clocks and wristwatches,
intrusion alarms, keyboard signalers,
industrial controls, and personalized
radio “beepers.” Similar transducers
are used in sonar devices and ul¬
trasonic cleaners.
The audio-tone transducer operates
at frequencies of 400 or 500 Hz up to
about 4500 Hz. In Auto Race, the
simulated engine sound increases in
frequency and volume as speed in¬
creases (as you move from first to
Auto Race
second to third to fourth gear). When
an oncoming car hits yours, a “bleep” is
heard; if you complete the four laps in
99 seconds or less, a yodeling “bloop-
bleep-bloop-bleep” is emitted; and if
you can’t make the four in 99 seconds,
the “sound of defeat” is a short, low
tone.
As the missiles in Missile Attack head
toward “Your City,” a V-2 type of buzz
is heard; when you launch your anti¬
missile missile, you hear a bleep, and if
you intercept the missile, the sound is a
flat “blaah.” If you successfully defend
Your City against the 20 missiles, the
final sound is an upward-spiralling All
Clear; if an enemy missile hits Your
City, the game is over, and you hear,
loud and clear, the first three notes of
“Taps”....
The basic sound in Football is a
ticking clock. When the running back is
clobbered, the “referee’s whistle”
sounds, like a short high chirp. After
you press the Kick key, and if the
computer decides to punt, two “whis¬
tle” sounds are heard; if it kicks a field
goal (which is seldom), you hear a
“charge” sound, something like an
octave arpeggio in a minor key.
The tone produced by the “piezo¬
ceramic speaker” is sufficiently loud
and clear that it could easily be used in
some sort of inexpensive electronic
musical instrument. Research may
Football
already be underway in this area, but
toy companies keep future plans as
secret as the military.
Toy Time
None of the three Mattel toys runs in
real time. After all, a real football game
has four 15-minute quarters, and that’s
only for the time the ball is actually in
play. To keep Football down to a
realistic playing time, the four quarters
take up only 10 minutes of “ball”-in-
play time.
An Auto Race minute is actually 50
seconds long, so the maximum “99
seconds” is actually only 82 seconds,
although the time seems a lot longer if
you’re sweating out a tough race.
Missile Attack can last from 2
seconds (if the first missile is aimed
directly at your city and you don’t shoot
it down) to about 40 seconds (if you
shoot down all of the missiles aimed at
your city).
Observations
If there’s any doubt in your mind that
the microcomputer actually keeps
track of where you are, turn on Auto
Race and stay in one lane. No matter
which lane you pick, every one of the
oncoming cars will aim directly foryou.
Rather disconcerting, what? And in
Football, as you shift left and right, the
defense will move in the same direc¬
tion. The 20 incoming missiles in
Missile Attack seem to take the same
tracks each time, but — and this may
be only my imagination — if you count
on it, there will be a slight change or
two, just enough to cause, for instance,
two missiles to take entirely new
directions, one in a straight line, the
other, following directly after, will
swerve at the last minute and drop right
onto your city. So although the higher
in the “sky” you intercept an incoming
missile, the more points you earn, if
you try too soon to shoot down a
missile that changes directions, you’ll
waste a shot and endanger your city.
Because if you miss, the computer
causes a delay in arming a new anti¬
missile missile. Tricky.
One thing the microcomputer in
Auto Race does not do is to make the
opposition tougher as you get near the
end of the lap (top of the LED stick). It
just seems that way, because you have
less reaction time as the distance
between your car and the newly-
appearing collision cars shortens. At
each gear-speed, there’s a minimum
time you can do the four laps in,
assuming no collisions. There’s a slight
spread in this minimum time, because
some time seems to be lost in shifting
lanes. For instance, running only in
first gear, my best time ran between 87
and 91 “seconds”; in second, 56 to 60;
in third, 36 to 38. As forfourth gear, I’ve
never been able to make the four laps in
28
CREATIVE COMPUTING
fourth without hitting several on¬
coming cars, so I don’t know what the
minimum time in high gear is.
The best strategy for Auto Race
might be to take most of the lap in
fourth, and then as you get near the end
of the lap, switch to third, so as to have
more reaction time. The catch is that
shifting the gears may be just enough
of a distraction to let your car get hit,
and only a few hits will shove it right
back to the starting line. All three
games require total concentration; you
can’t look away for a second, or let your
mind wander.
Auto Race has a chart that rates your
time for four laps as “Under 30 seconds
— World Champion Drive” down
through “45-55 seconds — Showing
Potential” to “75 or more seconds —
Leave Car in Garage.”
The two players of Football have a
scoreboard to show who's winning.
Missile Attack rates under 25 as “U
BLEW IT!”, 25-50 as “THAT’S BET¬
TER,”, 50-75 as “GOOD” and 75 and
over as “EXPERT MARKSMAN!” Ac¬
cording to the manual, it’s possible to
score over 100 points, which then
produces a special character in the first
digit of the readout to show this special
scoring condition. However, the best
I’ve been able to do is 50, because at
least a third of the 20 missiles shift their
trajectories in flight, which makes
shooting them down quite tricky.
Incidentally, when the battery
weakens, the games just don’t stop
functioning. All three game manuals
carry a similar notice; as Auto Race
puts it: “If the blips of light representing
cars or the Digital Timer appear to be
malfunctioning, this is the first sign of
battery wear. A fresh battery should
solve the problem.”
To prevent owners from opening a
game and toying with the insides,
special case screws are used; they can
be removed only with a triangular-head
screwdriver.
The Bottom Line
Auto Race and Missile Attack are
priced between $20 and $25; Football
runs from $30 to $35. If competing
companies develop similar
microprocessor-based toys, these
prices could go down, but the trend, at
least as of this writing, seems to be to
develop more complex games. There
are now at least two that play backgam¬
mon, and one that plays bridge. As for
what new smart electronic games are
going to be available by the end of the
year, just anything a microprocessor
chip can do, and enough people might
buy, is probably on the drafting boards
right now.
In the next issue, we’ll take a look at
the Parker Brothers nautical game,
Code Name: Sector, which pits sub¬
marines against destroyers. ■
Introducing
Bit Pad.
The new,
low-cost digitizer for
small computer systems.
■ •Aummadcphiof
^ 9 corporation
35 Brentwood Ave., Box 781, Fairfield, CT 06430
Phone (203) 384-1344. TELEX 96-4348
Bit Pad is the newest product from Summagraphics, the leading
producer of professional digitizers. 11 has a small 11-inch active area and
a small $555 price tag. But the list of applications is as big as your
imagination.
Better than a joystick or keyboard for entering graphic information,
it converts any point on a page, any vector, any distance into its digital
equivalents. It's also a menu for data entry. You assign a value, or an
instruction to any location on the pad. At the touch of a stylus, it’s
entered into your system.
Who can use it? Anyone from the educator and the engineer to the
hobbyist and the computer games enthusiast. The data structure is
byte oriented for easy compatibility with small computers, so you can
add a power supply, stand-alone display, cross-hair cursor and many
other options.
$1,000.00 creativity prize. You can also add $1,000.00 to your
bank account as a reward for your inventiveness. Just write an article
on an original Bit Pad application and submit it to any national
small-computer periodical. If the editors publish it - and the decision
is solely theirs - Summagraphics will pay you $1,000.00. Contact .
Summagraphics for rules concerning this offer.
JAN/FEB 1978
29
The Cover....
Blue Wazoo
Jim Pallas
The head with the
dream bag filled.
Continuity markers and stimulus spacers.
Necessity rings (center) and the eye (bottom).
30
CREATIVE COMPUTING
BLUE WAZOO
THE BEAD OF CONSCIOUSNESS
SUSPENDS CONTINUITY MARKING*
SPACED STIMULI.
BUDDAH-NATURE WAVERS TWITCH*
THE DREAM BAG FILLS.
POSSIBILITY TENDRILS
AND NECESSITY RINGS
POP UP.
BEAD DESCENDS.
The Blue Wazoo is primarily a welded steel structure
covered with several coats of acrylic lacquer. The
structure contains plastic shapes, ciruitry, wires, light-
emitting diodes, solenoids, a motor, cloth, horsehair, a
feather and a bead. The Blue Wazoo senses light and
sound and responds with a behavioral repertoire of
various LED patterns, movements, inflations, deflations,
whirrs, clicks and jiggles. It is six feet high and weighs'
about 25 pounds.
Ambient light falling on the photocell (in the small
velcro-mounted “gun” at the front of the body) increases
the clock frequency (average: 2 hertz), of the 16 bit serial-
in serial-out shift register. Data for the shift is generated by
a microphone (at the front base of the neck). An 8-bit
binary counter counts the output of the shift. Four nand
gates are made conditional on data from various outputs
of the shift and counters. Each nand gate controls an
activity of the Blue Wazoo.
Visitors sense that the Blue Wazoo is reacting to
something they are doing but they don’t know exactly
what. This often leads to superstitious behavior on their
part. The artist is particularly interested in this cybernetic
aspect of the work and feels that the dynamic interaction
between viewer and artwork is one of the more exciting
potentials in the use of the new technology in art.
The internal workings of a circuit and the resultant
activities take on symbolic content as indicated by the
individual names given to various parts of the sculpture.
The Blue Wazoo was made by Jim Pallas in 1975-76 and
is in the collection of the Allan Stone Gallery, NYC.
This article is appearing simultaneously in Page, the publication of The
Computer Arts Society.
The artist, Jim Pallas is co-ordinator of the Detroit Art Works (they have a
really fabulous T-Shirt with one of Jim’s works on the front and Detroit Art
Works emblem on the back. Black shirt, adult sizes $7.00 postpaid. Well
worth it — DHA). Jim is also on the faculty of Macomb County Community
College. He can be reached at 1311 Bishop, Grosse Point Park, Michigan
48230. ■
BLOCK DIAGRAM OF
BLUE WAZOO'S LOGIC
BUDDA-NATURE MEAD TILTER
POSSIBILITY TENDRILS DREAM BAG
* NECCESSITY RINGS
JAN/FEB 1978
31
WAA ML
FLYING-
ATTA
LOOK
out/
MARSPOTTs^
FINEST ROCKEtS^^B
/VHECWANIC...
7,Vt THIS IS CAP1AIN>
1 \X ELIAS JACKRABBIT5
S' '0/SPACE ACE ANP
f W FLIGHT INSTRUCTOR
AT THE ACAPEMY./
CMON...I HAVE AN >
UNPEBGRCUNP BUNKER:
r WHERE
IN THE#
alSTWAT
TO BE CONTINUED..
MICROPROCESSOR APPLICATIONS
MANUAL
by Motorola, Inc.
435/278 Pub. Pr„ $28.50 Club Pr., $22.50
HANDBOOK OF CIRCUIT ANALYSIS
LANGUAGES AND TECHNIQUES
by R. Jensen and L. McNamee
769/656 Pub. Pr., $34.50 Club Pr., $28.50
INTERACTIVE COMPUTER GRAPHICS
by B. S. Walker, G. R. Grund and
E. A. Drawneck
767/661 Pub. Pr., $14.50 Club Pr., $12.30
THE THINKING COMPUTER
Mind Inside Matter
by B. Raphael
769/893 Pub. Pr., $12.95 Club Pr., $10.25
MASTER TRANSISTOR SUBSTITUTION
HANDBOOK
by The Tab Editorial Staff
770/921 Pub. Pr., $11.95 Club Pr., $9.95
ALGORITHMS + DATA STRUCTURES =
PROGRAMS
by N. Wirth
769/664 Pub. Pr., $18.00 Club Pr., $13.75
BASICS OF DATA COMMUNICATIONS
Edited by H. R. Karp
191/59X Pub. Pr., $19.50 Club Pr., $15.95
BUILD YOUR OWN WORKING ROBOT
by D. Heiserman
Introductory offer to new members of the
Computer Professionals’ Book Club
Special $1.89 bonus book comes to you with your first club selection
T HIS new professional club is designed to meet your day-to-day on-the-job needs by
providing practical books in your field on a regular basis at below publisher prices. If
you’re missing out on important technical literature—if today’s high cost of reading curbs
the growth of your library—here’s the solution to your problem.
The Computer Professionals’ Book Club was organized for you, to provide an economical
reading program that cannot fail to be of value. Administered by the McGraw-Hill Book
Company, all books are chosen by qualified editors and consultants. Their understanding
of the standards and values of the literature in your field guarantees the appropriateness
of the selections.
How the Club operates: Every month you receive free of charge The Computer Profes¬
sionals’ Book Club Bulletin. This announces and describes the Club’s featured book of the
month as well as alternate selections available at special members’ prices. If you want to
examine the Club’s feature of the month, you do nothing. If you prefer one of the alternate
selections—or if you want no book at all—you notify the club by returning the card en¬
closed with each Bulletin.
As a Club Member, you agree only to the purchase of four books (including your first
selection) over a two-year period. Considering the many books published annually, there
will surely be at least four you would want to own anyway. By joining the club, you
save both money and the trouble of searching for the best books.
769/311 Pub. Pr., $8.95 Club Pr., $7.60
MICRCOMPUTERS/MICROPROCESSORS
Hardware, Software and Applications
by J. L. Hilburn and P. N. Julich
771/499 Pub. Pr., $18.50 Club Pr., $14.75
SCIENTIFIC ANALYSIS ON THE
POCKET CALCULATOR
by J. M. Smith
772/533 Pub. Pr., $13.75 Club Pr., $10.95
ELECTRONIC MUSIC CIRCUIT GUIDEBOOK
by B. Ward
768/234 Pub. Pr., $9.95 Club Pr., $8.45
A DISCIPLINE OF PROGRAMMING
by E. W. Dijkstra
770/115 Pub. Pr., $17.50 Club Pr., $14.50
VALUES UP TO $34.50 WITH MAJOR DISCOUNTS ON ALL OTHER CLUB SE¬
LECTIONS. Your bonus books come with the first selection, and you may choose both
of them from the books described in this special introductory offer.
EXTRA SAVINGS: Remit in full with your order, plus any local and state tax, and
McGraw-Hill will pay all regular postage and handling charges.
GETTING INVOLVED WITH YOUR OWN
COMPUTER
A Guide for Beginners
by L. Solomon and S. Veit
771/952 Pub. Pr., $9.95 Club Pr., $8.35
AUTOMATIC DATA PROCESSING HANDBOOK
Edited by The Diebold Group, Inc.
168/075 Pub. Pr., $33.50 Club Pr., $23.75
APPLYING MICROPROCESSORS
New Hardware, Software, and Applications
Edited by L. Altman and S. E. Scrupski
191/603 Pub. Pr., $15.00 Club Pr., $12.50
COMPUTER ARCHITECTURE, 2/e
by C. C. Foster
770/794 Pub. Pr., $16.95 Club Pr., $12.95
NO RISK GUARANTEE:
If not completely satisfied return selections for full refund and membership cancellation.
-MAIL THIS COUPON TODAY -
COMPUTER PROFESSIONALS/Book Club P.0. Box 582 Princeton Road, Hightstown, NewJersey 08520
Please enroll me as a member and send me the two books
indicated. I am to receive the bonus book at the intro¬
ductory price of SI.89 plus my first selection, plus tax,
postage, and handling. If not completely satisfied, I may
return the books within 10 days and request that my member¬
ship be cancelled. If I keep the books, I agree to take a
minimum of three additional books during the next two years
at special Club prices (guaranteed 15% discount, often
more). I will receive the Club Bulletin 13 times a year. If
I want to examine the featured selection, I need take no
action. It will be shipped automatically. If, however, I want
an alternate selection—or no book at all—I simply notify the
Club by returning the convenient card always enclosed. I
will always have a minimum of 10 days in which to return
the card and you will credit my account fully, including
postage, if this is not the case. Membership in the club is
continuous but cancellable by me at any time after the four-
book purchase requirement has been filled. This order
subject to acceptance by McGraw-Hill. Orders from outside
the continental U.S. must be prepaid. Company, business, or
Institutional tax exemption status is not appliable to pur¬
chases made through individual Club memberships. All prices
subject to change without notice. Offer good tor new mem¬
bers only.
Write Code # of $1.89 bonus Write code # of
book selection here first selection here
NAME_
ADDRESS_
CITY_
STATE_ZIP.
P'39274 j
Five Who Most Disturbed
The Thought of Man
COPERNICUS, 1473-1543,
who deprived man of his earth-centered universe.
References:
Kuhn, Thomas S., The Copernican Revolution,
New York, R. R. Bowker Company.
DARWIN, 1809-1882,
who deprived man of his status as a special
creation.
References:
Darwin, Charles: Evolution and Natural
Selection, Loewenberg, Bert James
(Editor), New York, R. R. Bowker
Company.
Darwin, Charles — Autobiography and
Selected Letters, (Edited by Francis
Darwin), New York, Dover Publications,
Inc.
Hofstadter, Richard, Social Darwinism in
American Thought, Boston, Mass., The
Beacon Press, Inc.
FREUD, 1856-1939,
who deprived man of belief in rational
self-determination.
References:
Freud, Sigmund, Delusion and Dream, Boston,
Mass., The Beacon Press, Inc.
Freud, An Autobiography ical Study
(Translation by James Strachey) (2nd ed.)
London, England, The Hogarth Press,
1946.
Jones, Ernest, The Life and Work of Sigmund
Freud, New York, Basic Books, Inc.
EINSTEIN, 1879-1955,
who deprived man of confidence in his own
observations of the physical world and forced him
to understanding, as distinguished from proof only,
of phenomena.
References:
Barnett, Lincoln, The Universe and Dr.
Einstein, New York, R. R. Bowker
Company.
Coleman, James A., Relativity for the Layman,
New York, The New American Library,
Signet, P2049, 4th printing, January 1962.
Lovell, A. C. B., The Individual and the
Universe, New York, R. R. Bowker
Company.
Gamow, George, Biography of Physics, New
York, Harper and Brothers, 1961.
Rogers, Eric M., Physics for the Inquiring
Mind, Princeton, NJ, 1960, Princeton
University Press.
COMPUTER, 1948?
who deprived man of his unique position as an
intelligent manipulator of his environment and
creative solver of complex problems.
References:
Feigenbaum, Edward A. and Feldman, Julian
(Eds.), Computers and Thought, New
York, 1963, McGraw-Hill.
Rothman, Stanley and Mosmann, Charles,
Computers and Society, Chicago, 1972,
Science Research Associates.
Spencer, Donald D., Computers in Society,
Rochelle Park, NJ, 1974, Hayden Book
Co.
Brown, Les and Marks, Serna, Electric Media,
New York, 1974, Harcourt Brace
Jovanovich.
Nelson, Theodor H., Computer Lib/Dream
Machines, Chicago, 1974, Hugo's Book
Service.
Wessel, Milton, Freedom's Edge: The
Computer Threat to Society, 1974,
Addison-Wesley.
Weizenbaum, Joseph, Computer Power
and Human Reason, 1976, W.H.
Freeman. ■
34
CREATIVE COMPUTING
A Creative Computing Equipment Profile...
Radio Shack TRS-80
iStephen B. Grayl
You open the large box and take out
three smaller boxes. The first contains
a 12-inch video display monitor; the
second , a combination of ASCII
keyboard, CPU, memory and cassette
interface, all in one molded case, plus a
separate AC power supply; the third
contains a standard Radio Shack CTR-
41 portable cassette recorder. Also
included are several cables and two
cassettes, one blank, the other con¬
taining two games: blackjack and
backgammon.
Setup is simple. Three 5-pin DIN
connectors plug into the keyboard
case: one from the monitor, another
from the power supply, the third from
the cassette recorder (needed only if
you plan to record programs or load
taped programs into the TRS-80).
Three small plugs connect to the CTR-
41: into the EAR, AUX, and REMOTE
jacks. (A dummy plug in the MIC jack
disconnects the built-in microphone to
prevent picking up ambient sounds
while you load tapes.) Plug in the
power cord and you’re ready to go.
Incidentally, although the three DIN
plugs are identical at the metal end, the
plastic handles are all differently
shaped, and the keyboard case is
stamped TAPE, VIDEO, and POWER.
But even if you plug one of these
connectors into the wrong jack, you
won’t blow out anything; the designers
have made the TRS-80 as idiot-proof as
possible. If you’ll be plugging and
unplugging your TRS-80 frequently,
you may want to label the three
keyboard-case plugs, as well as the
three cassette-recorder plugs, for
faster setup time.
Turning On
Turn on the monitor by pressing the
red Power button. Turn on the key¬
board by pressing the small ON button
at the back of the case. A red LED near
the lower right end of the keyboard will
light up to remind you that the com¬
puter is on. The monitor displays
READY
>_
The READY means the computer is
waiting for your input; the “greater
than” sign is the “prompt,” which
means the computer is ready for a line
number (or other command), and the
underline sign is the cursor, which
shows where your input will be placed
on the screen.
The TRS-80 has two operating
modes. The simplest is “calculator
mode,” without line numbers, which
will calculate any expression you type
after PRINT. If you type PRINT 5-2 and
press the ENTER key, a 3 will show up
on the next line. Typing PRINT 7/22 will
display .318182; the maximum is six
decimal digits. If you type PRINT
7/222, the result is 3.1531 E-02 instead
of .031531; for numbers less than .1,the
computer prints out in scientific nota¬
tion.
Errors
To correct a typing error, press the
backspace key (**-) as many times as
necessary to erase the error. Press
CLEAR to blank the screen.
In computer mode, use line numbers
to write programs. An END statement
isn’t required; you need type only RUN.
Three error messages signal various
problems. If WHAT? is displayed, the
computer does not understand the
instruction. Perhaps you typed PRNT
when you meant PRINT, or left out a
closing parenthesis and typed PRINT
2/(4-3 instead of PRINT 2/(4-3). If
HOW? is shown, the computer un¬
derstands the instruction, but can’t
execute it, such as if you use GOTO
with no line number to branch to, or use
Basic TRS-80: keyboard/computer, video
monitor, cassette unit, power supply.
a line number beyond 32,767, or try to
divide by zero. If SORRY comes up on
the screen, the computer has run out of
memory.
Radio Shack BASIC
According to the computer’s
designer, Steve Leininger, TRS-80
BASIC “was designed around Palo Alto
Tiny BASIC,” with the addition of
floating-point math, two strings (A$
and B$), and “some other things.” The
$599.95 price for the complete TRS-80
system includes Level-1 BASIC, stored
in a 4K ROM. Level I includes four
commands (LIST, RUN, CONT, NEW),
fifteen statements (REM, LET, FOR-
NEXT-STEP, GOSUB-RETURN,
STOP, END, GOTO, IF-THEN, INPUT,
ON...GOTO, ON...GOSUB, PRINT,
DATA, READ, RESTORE), three func¬
tions (ABS, INT, RND), ten math
operators (add, subtract, multiply,
divide, equals, not equal to, and four
greater-than or less-than operators),
two cassette-memory commands
(CSAVE, CLOAD), and several special
commands. These last include
graphics commands such as SET,
which turns on a rectangle (a little
larger than a hole inan IBM card) atthe
designated XY coordinates; RESET,
which turns off a graphics rectangle;
and POINT, which checks for the
presence of a rectangle at the specified
XY coordinate (if on, returns a 1; if off,
returns a 0 — useful in writing games).
CLS clears the screen. MEM displays
the number of bytes left in memory.
The variables are A through Z, up to
six significant digits; A(n), four bytes
per subscript, from 0 to MEM/4; A$ and
B$, character strings up to 16
characters. A$ and B$ cannot be used
logically; that is, A$ can’t be compared
with B$.
The RND is different from the ran¬
dom function used in most BASICs;
instead of providing a decimal number
between 0 and 1, it provides, if RND(10)
is used, for example, random integers
between 1 and 10, inclusive.
Successive RUNs provide different
sets of random integers each time.
Most of the statements and com-
JAN/FEB 1978
35
mands can be abbreviated, usually to
one letter and a period. Since TRS-80
BASIC permits multiple-statement
lines, this feature permits making the
most of the 4K dynamic RAM memory;
also, neither LET nor END is required.
For printing, the screen will display
16 lines of 64 characters; upper case
only. For graphics, the screen is
divided into 1024 rectangles, 128
horizontally by 48 vertically. Graphics
and text may be interspersed. The
PRINT AT function will print any
message starting at the indicated
rectangle. For example,
PRINT AT 640, “HELLO”
will print HELLO at the beginning of the
line about two-thirds of the way down
the screen.
the tape motion. An * will appear at the
top line of the monitor screen; a second
* next to the first asterisk will blink,
indicating that the program is loading.
When loading is done, the CTR-41
turns off and the screen indicates
READY. All you have to do is type RUN
and ENTER.
The tape-recording format is said to
be similar to the format described by
Hal Chamberlin in his now-defunct
publication, “The Computer Hob¬
byist.”
Incidentally, the computer knows
when to stop when it’s reading a
Cassette Recording
Data recording using the CTR-41 is
about as simple as possible. To record
a program from the TRS-80, press the
recorder’s RECORD and PLAY keys
simultaneously, then type CSAVE on
the keyboard, and ENTER this com¬
mand. When the program has been
recorded (at 250 baud), the TRS-80 wil|
automatically turn off the recorder and
flash READY on the screen. According
to the manual, “many computer users
make a second-or even a third recor¬
ding of the tape, just to be sure they
have a good recording.” The half-
dozen recordings I made all recorded
and played back perfectly, without the
need for additional recordings.
To play a recorded tape, set the CTR-
41 VOLUME control to between 7 and
8, press the PLAY key, type CLOAD on
the keyboard, and ENTER. This starts
Using the TRS-80 in the lab to compute theoretical test results.
TRS-80 graphics: cannonballs demolish the fort, accompanied by noise-words such as KAPOW!
program from cassette because, when
the computer wrote the program, it
automatically wrote a header that
indicates how many bytes the program
uses, and also gives the starting
location at which the program will be
loaded in computer memory.
Blackjack, Backgammon
A “game package” consisting of
blackjack and backgammon on a
cassette is included with the TRS-80.
When I loaded blackjack (which took a
little over a minute and a half) and tried
to play it, the first part of the program
ran properly, but then the screen filled
with a meaningless collection of
alphanumerics, and the game halted.
Seemed like a dead end, but then I
remembered the line in the manual
about a second or third recording, and
tried another CLOAD on the same tape,
after first wiping out the bad program
with a NEW. The game ran perfectly.
Then I remembered that during the first
CLOAD, the second asterisk had
blinked only a couple of times, and
then stayed on. That should have been
a clue. Anyway, I played Blackjack, and
won the first six games. Then I started
to lose, eventually lost all my winnings.
Was this Blackjack actually programm¬
ed to let me win the first few games, and
lead me up the garden path?
Then I loaded the Backgammon
game. The accompanying booklet says
“If you don’t know the rules, you can
pick up a copy at any bookstore or you
can play the computer game a couple
of times and the rules will become
obvious. The computer will not let you
make an invalid move.” The computer
didn’t, but I couldn’t figure out the end
game anyway. I do wish they’d taken a
couple more pages and given the rules.
T
36
CREATIVE COMPUTING
IF YOU THOUGHT OUR MOTHER WAS GOOD
BEFORE JUST LOOK AT HER NOW
* 12 SLOT S-100 (ALTAIRj BUS
* KLUGE AREA
* EXTENSIVE GROUND PLANE
* PASSIVE TERMINATION FOR ALL LINES
* NEW - DOUBLE SOLDER MASK
* NEW - SILK SCREEN PARTS LAYOUT
* NEW - 3 REGULATED VOLTAGES FOR KLUGE AREA
QM-1A
$35. BARE $95. KIT
$110. ASSEMBLED & TESTED
DOCUMENTATION FOR ALL WAMECO BOARDS AVAILABLE
FROM OUR DEALERS FOR $5. CREDITED ON PURCHASE OF BOARD.
DEALER INQUIRIES INVITED UNIVERSITY DISCOUNTS AVAILABLE
(Yfinc j nC ' WAMECO INC 3107 LANEVIEW DRIVE SAN JOSE CA. 95132
WAMECO DEALERS AND DISTRIBUTORS
as of 9/15/77
AUSTRIA
MARGREITER DATASYSTEM GMBH
A-1070 WIEN
SCHOTTENFELD GASSE 11
PHONE (0222) % 15 65
CANADA
0RTH0N COMPUTERS
12411 STONY PLAIN ROAD
EDMONTON
ALBERTA CANADA T5N 3N3
PHONE (403) 488-2921
* DISTRIBUTOR
UNITED STATES
ADVANCED COMPUTER PRODUCTS
1310 "B" EAST EDINGER
SANTA ANA, CA 92705
PHONE (714/ 558-8813
BYTE SHOP OF PALO ALTO
2233 EL CAM I NO REAL
PALO ALTO, CA 94306
HOBBY WORLD
5716 WEST MANCHESTER #5
LOS ANGELES, CA 90045
PHONE (213) 641-4200
* JADE COMPANY
5350 WEST 144TH STREET
LAWNDALE, CA 90260
PHONE (2lJ> 679-3313
* MIKOS
419 PORTOFINO AVENUE
SAN CARLOS, CA 94070
PROKO ELECTRONIC SHOPPE
439 MARSH STREET
SAN LUIS OB ISBO, CA 93401
THE COMPUTER CORNER
22 BEECHURST AVENUE
MORGANTOWN, WV 26505
PHONE (304) 2&-9700
WILLIAM ELECTRONICS SUPPLY
1863 WOODBRIDGE AVENUE
EDISON. NJ 08817
PHONE (201) 985-3700
Incidentally, the erase-protect tabs on
this cassette are both broken off, to
prevent your accidentally erasing
either game.
User’s Manual
As of this writing, the 230-page
User’s manual wasn’t quite ready, so
much of this article is based on the 30-
page Preliminary User’s Manual, ade¬
quate but not detailed, and with no
attempt made to teach BASIC, which
presumably the larger manual does.
Comments
The microprocessor in the TRS-80 is
a Z-80, although a great many users
won’t really care if it’s a 4004, as long as
the computer performs. And it does,
very well. Operation couldn’t have
been made simpler; by having BASIC
in ROM, all you do is plug in the
machine, turn it on, and start program¬
ming.
Some readers are bound to ask, why
not use a standard TV set instead of a
monitor? Because with a monitor you
get a higher resolution, and the
sharply-focused characters are much
easier to read. If you were to try using a
standard TV set, the characters would
smear rather badly. The problem is one
of bandwidth; the signal coming out of
the TRS-80 is over 5 mHz, and most TV
sets are limited to 4.5 mHz, or even 3.5
mHz. However, with the forthcoming
Level II BASIC, you can switch from 64
to 32 characters per line, which widens
the characters and allows them to look
quite good on a standard TV. Then all
you need is an RF modulator such as a
Pixe-Verter, and you can use your own
TV set.
One peculiarity: if you type PRINT X,
without having previously assigned a
value to X, the result will be 965. Every
time. PRINT B provides -.5, and PRINT
J gives you 8.18799. The explanation is
quite simple: LEVEL I BASIC doesn’t
clear out the variables. LEVEL II BASIC
will do this. Meantime, follow the
instructions given in just about every
book written on BASIC; initialize your
variables.
(The reason PRINT X provides 965
seems to be that, because semicon¬
ductor memory locations can’t be
made exactly alike electronically, the
individual bit positions thus have a
built-in tendency to assume either the 0
or 1 state when the computer is turned
on. This tendency can apply to a group
of locations, so that the same value
could come up when entering anything
from PRINT M to PRINT Q, for exam¬
ple. And if such a variety of values
exists in a single computer’s memory, it
must follow that no two TRS-80 com¬
puters will print out the same set of
values for variables not previously
initialized. And if no two sets of these
variables are alike, then every TRS-80
memory is as unique in this respect as
its owner’s thumbprint.)
The Future
Under a cover at the left rear of the
keyboard case is a 40-pin bus for
connecting peripherals and expansion
memory. Level II BASIC, which is 8K
Extended BASIC, will be available early
this year, and replaces the single Level
I ROM with two ROMs. LEVEL II adds
the trig functions, exponentiation,
SQR, and various other goodies found,
for the most part, in MITS Extended
BASIC. Actually, the next hardware to
be available will be an additional 12Kof
RAM, and a printer. More about those
at a later date, along with details on
future add-ons such as a serial inter¬
face (so the TRS-80 can be used as a
terminal), a second cassette interface,
an assembler/editor, a disk operating
system and mini floppy-disk storage
system, and many others, including an
adapter to permit using S-100 boards
with the TRS-80.
In the next issue, we’ll discuss the
230-page manual, and the four
applications programs now available
(Payroll, Education—Math 1, Kitchen,
and Personal Finance) for the Radio
Shack TRS-80 computer system. ■
JAN/FEB 1978
37
A Creative Computing Equipment Profile...
Heath H-8 System
John Lees (Hardware) and Steve North (Software)
[Ed. Note: This is a review of three
Heath computer products assembled
by Heath employees as part of the
manufacturer’s pilot-run quality-
control program. At a later date, when
the kits of these three products are
available, we will review them, as well
as the H-11 computer.]
Heath computers, after a year of
rumours and speculation, finally arriv¬
ed at the Creative Computing building
last month. We unpacked the wired H-
8 8080-based computer, H-9 video
terminal, and H-10 paper-tape reader/-
punch with high expectations and
eagerly set in on our review of the
system.
The Hardware
Unfortunately we could not begin
right away because we could not get
the H-9 video terminal to work, and
Heath had forgotten to include the
manuals. When the manuals did arrive,
we traced the problem to a broken
wire and fixed it easily.
Meanwhile we decided to check out
the H-8 computer as far as we could
without a terminal. Heath had included
a parallel I/O card separately and we
first installed it in the mainframe
before proceeding. Our initial test
went like this:
John: “Plug it in.”
Steve: “Okay.”
John: “Turn it on.”
Click.
John: “What’s that!?”
Steve: “Look!”
John: “Turn it off! Turn it off!”
Silence.
John: “Where’s the smoke coming
from?”
Steve: “Back there ... must be the
power supply....”
John: “Yeah. The fuse is blown.”
After installing a couple of Radio
Shack diodes in our I leathkit com¬
puter, we gingerly tried again. This
time nothing went wrong and
everything seemed to work correctly.
Temporarily baffled, we eventually
discovered that the board connectors
used by Heath did not prevent plug¬
ging in a board out of line. If a board is
plugged in offset by one pin up, the -18
volt supply is shorted to ground, which
is what we must have done.
Talking with Heath revealed that they
now glue a plastic barrier on each
board which prevents this — obviously
an afterthought. We are not overly
impressed with the sturdiness of the
connectors, the difficulty with remov¬
ing boards (there are a number of
screws that must be removed), and the
difficulty of taking out the mother¬
board to repair the 18-volt supply. If
you’re one of those hobbyists who
continually yank boards in and out of
your computer, the H-8 is not for you.
On the other hand, if you intend to get
your computer working and then leave
it alone, the method of securing the
boards is superior. A definite plus if you
move your computer about a lot.
At this point we want to thank Heath
for one very good feature. All 120-volt
connections are completely enclosed
in a metal box. You can’t accidentally
electrocute yourself while poking
around the H-8 as you can with so
many other machines. Most manufac¬
tures don’t bother with UL approval.
Heath does. Bravo! This goes for the
H-9 and H-10, also.
We then proceeded to check out the
H-8 with the short program included in
the manual. Entering it through the
pushbutton front panel was nicer than
using toggle switches, although we
Heath H-8 8-bit computer
don’t understand why an octal display
is used lor an 8-bit machine. Upon
executing the test program, the dis¬
play reassuringly told us that “YOUR
H-8 IS UP AND RUNNING.” We set the
H-8 aside until we had a terminal up
and turned our attention to the H-10
paper tape reader/punch.
Without the rest of the system, all we
could do with the H-10 was to copy a
tape, which one does by pressing a
button on the rear of the H-10. One-
third of the way through copying a
1000-foot tape, we discovered the first
serious drawback to the H-10.
Somehow the tape being read had
become twisted and folded in the
reader, and we had the devil’s own
time clearing it. There is no easy way
to clear such a problem tape. You can’t
simply lift it out of the reader as you
can with a Teletype, because the tape
goes through several closed apertures
and fits closely between the lamp and
photoresistors, and under two spring
clips. But we got it cleared and
proceeded.
However, another 100 feet further
on, the punch began making a strange
sound and the punched tape fell out,
chewed in half. Examination showed
that one solenoid was permanently
“on,” blocking the tape path. Oh, well.
Then it dawned on us that we were
halfway through a 1000-foot roll with
no way to clear it from the reader. So
we pulled 500 feet of tape through the
reader, saying nasties about Heath the
meanwhile, pulling it being faster than
feeding it. Replacing a power tran¬
sistor cured the problem, but we
decided not to push our luck by
duplicating another long tape. Ad¬
ditional bad points are the chad box (a
joke) and the reader’s intolerance for
wrinkled tape. The H-10 is definitely a
hobby peripheral. Don’t be fooled by
its good looks into thinking it can take
a commercial pounding.
What else to say about the
hardware? Of course Heath uses a
unique 50-pin bus, and unique con-
38
CREATIVE COMPUTING
nectors to go between peripherals.
Actually, the connectors used are
much sturdier and easier to solder to
than the 22-pin EIA standard, and the
50-pin bus makes a lot of sense from
an engineering standpoint. If you’re
going to have an all-Heath system,
you’ve nothing to worry about, and if
not, Heath-compatible boards and
adaptors will certainly show up in the
near future.
The I/O boards in the H-9 and H-8
have many, many jumpers that allow
you to select baud rates and stop bits
and hand-shaking, etc., to match
whatever you’re using. But such
changes require a soldering iron.
Using Heath peripherals with several
different computers will be a real pain
unless you install some handy
switches for yourself. Again, no
problem in an all-Heath system, and it
would have upped the cost for Heath
to include such convenience features.
The H-10 can be used with a parallel
I/O card, which allows it to run at its
own speed, or the H-10 can be
plugged into the H-9 terminal, in
which case the combination runs at
110 baud, emulating a Teletype. The
H-9 displays 12 lines of 80 characters
and Heath obviously intends to offer
an expansion to 24 lines. The H-9 also
has a plot mode, which looks in¬
teresting but which we didn’t have
time to try out.
Manuals and Documentation
As expected, the Heath manuals are
far, far superior to anything any other
manufacturer makes available. The
circuit descriptions and troubleshoot¬
ing guides are excellent. The manuals,
coupled with the ability to call Heath
for assistance, make the Heathkit a
clear first choice if you desire to build
your hobby computer system from a
kit, yet are not yourself an experienced
technician.
The Software
PAM-8: The Heathkit H-8 comes
with a front-panel monitor program
contained in non-volatile Read-Only
Memory. This monitor accepts com¬
mands from the front-panel keypad to
control the computer, and also
manipulates the display. The front
panel consists of sixteen pushbuttons
and eleven seven-segment displays.
The H-8 front panel does not have
direct control over the machine. The
PAM-8 permits examination and
modification of memory, CPU
registers, and I/O ports, single¬
stepping, and loading and saving of
memory with a peripheral device.
PAM-8 supports a realtime clock and
also permits you to reset the system
(re-enter PAM-8) by pressing two
buttons on the keypad simultaneously.
Since it is not a direct display of the
Heath H-9 CRT keyboard terminal
internal state of the machine, the H-8
front panel is not as well-suited for
hardware debugging as the front panel
on an IMSAI. On the other hand, it
does offer many convenient features
for people who prefer to use their
computers, not debug them. To save a
program on the device at port 370
octal, enter a few digits and press
DUMP. To load a program from the
boot device (at 370 octal) just press
LOAD and sit back. With a "dumb”
front panel, you would have to enter a
long I/O driver program. With the H-8
front panel, you can examine memory
in a normal mode, examining a par¬
ticular address and stepping forward
and backward (with the + or - keys on
the keypad), or use the “alter” mode,
in which you enter consecutive bytes
of memory.
The H-8 front panel use octal
notation. While Heath may have felt
that this was logical, since the 8080
instruction set is octal, there is a
strong predominance of the use of hex
in the microcomputer field. One byte
just doesn’t conveniently divide up
into groups of three bits. It would also
have been nice if Heath had built a
little more flexibility into PAM-8, so
that the system could be booted up
from a device other than the one at 370
octal. However, front panels in general
are becoming less and less popular as
people discover that it is impossible to
Heath H-10 paper-tape reader/punch
do anything significant without a
terminal. Therefore, it is often more
practical to include a PROM monitor
that talks to a terminal, since you
generally ends up with one. It is also
tough to understand why Heath decid¬
ed to use the 8080 instead of the Zilog
Z-80 microprocessor. While we
suspect that part of the attraction of
the Z-80 stems from the fact that it
begins with a ‘Z’, it is nevertheless an
obvious choice over the 8080 in
designing a new product, since its
instruction set is more sophisticated
than the humble 8080’s, and use of the
Z-80 instead of the 8080 also generally
reduces the package count. PAM-8
resides in low memory in the H-8. This
will make it difficult to use most of the
8080 software available in object form,
since most software is assembled to
run at zero. In most other micros,
PROM memory is located way up at
the top of the addressable memory,
thereby not interfering with anything
you want to load in low memory. It is
safe to say that few people will be
using MITS BASIC with their H-8’s.
BUG-8: BUG-8 is a debugger for
8080 object programs. BUG-8 permits
your general debugger functions (ex¬
amination and modification of
memory, registers, single stepping,
etc.) with a terminal. This is definitely
a handy thing to have if you do much
assembly language programming.
TED-8: To create assembly-
language programs and general text,
Heath supplies TED-8, a text editor.
This editor is pointer-oriented, and
permits listing of the text, insertion/re¬
placement/deletion, searching for a
given character string, etc. Although
your first impression at looking at the
TED-8 documentation is that it is
difficult to learn, it is actually rather
straightforward. Since all commands
have the same basic format, one need
only plug in the correct parameters to
perform a specific function. Unfor¬
tunately, in learning to use TED-8 we
did not use this format a few times,
and managed to crash TED-8. TED-8
also permits you to save and load text
information from an external device.
HASL-8: While the acronym for this
software may have been rather poorly
chosen, Heath’s assembler seems to
be a good 8080 assembler. Assembly
is done from source code on cassette
or papertape, rather than memory.
While this method is slower than a
completely in-core assembly, it also
eliminates the need to have 32K of
memory to assemble a well-
commented IK program. The bad
news is that sometimes Heath does
not use the normal Intel-approved
mnemonics. No one else calls a JNZ
(Jump if Not Zero) a JNE (Jump if Not
Equal) (even if, after a compare
instruction, you really are testing for
JAN/FEB 1978
39
IN ELECTRONICS <PK> HAS THE LINE...
DIP/IC INSERTION TOOL with PIN STRAIGHTENER
STRAIGHTEN PINS I RELEASE I PICK-UP I INSERT
* MINIMUM ORDER $25.00, SHIPPING CHARGE $1.00, N.Y. CITY AND STATE RESIDENTS ADD TAX
OK MACHINE AND TOOL CORPORATION
3455 CONNER STREET, BRONX. NEW YORK. N.Y. 10475 U.S.A.
PHONE (212) 994-6600 TELEX NO. 12 5091
equivalence). There is no need to
create incompatibility at the assembly-
language level! What are a couple of
characters, here or there? If, on the
other hand, you never plan to use
other people’s programs, it doesn’t
make any difference. HASL-8 has
conditional assembly features.
BASIC: Heath (“Benton Harbor”)
BASIC (8K and 12K) offers most of the
features that have become standard
for microcomputer BASICS: floating¬
point math, multiple statements per
line, arrays, string scalars and arrays,
a full function library, and so on. Heath
12K BASIC also has some special-
purpose commands for manipulating
the front-panel display and to read the
front-panel keypad. Although Benton
Harbor BASIC is not nearly as fast as
MITS BASIC, it seems reliable and
should serve the needs of Heathkit
buyers. The fly in the BASIC ointment
is a feature called command comple¬
tion. As you type in statements, BASIC
looks at the characters you enter, and
if it thinks you are typing a keyword, it
completes the keyword for you on the
terminal, and apparently also con¬
denses the keyword into a single byte
in memory. For example, you type
GOS and the machine finishes the
word with UB to make GOSUB. So we
found ourselves typing PRINT INT.and
RUN N quite often. A representative of
Heath explained that after using the
software for a while, you can an¬
ticipate when a keyword is coming up,
and wait for the machine to complete
it. In fact, he said it felt unusual to go
back to a machine without the com¬
mand completion. It’s hard to decide
whether this feature is actually
desirable or whether it is a gimmick.
Heath is rumoured to be considering a
modification to permit you to use
command completion or turn it off,
which we would heartily recommend
(this would make the decision as to the
value of command completion an
individual thing, rather than an
academic question). The other not-
very-handy thing is that when you do a
string INPUT, the string must be
enclosed in quotes. The reason for
this, as far as we can guess, is that
BASIC uses the regular line-input
routine to read a character string, and
the “ is needed to turn off command
completion. In Extended BASIC there
is a LINE INPUT statement that works
like a normal string Input, without
command completion and without
quotes.
Extended BASIC does have a nifty
feature that automatically vectors you
off to a particular BASIC subroutine
when control-B is typed on the
keyboard. A real-time clock is also
available to BASIC. So, except for
those two related features that are
slightly annoying, Heath BASIC is a
very adequate BASIC for the hobbyist.
It is commendable that Heath is
providing cheap software for the H-8.
This will tend to discourage software
thievery by H-8 owners. Heath has
nothing to fear from non-H-8 owners
(not only will H-8 owners not be using
MITS BASIC, but Altair owners will not
be using Heath software, due to its
dependence on PAM-8). Heath has
also developed a reasonable standard
for the format of the data recorded on
cassette or papertape, rather than just
throwing data out at the peripheral
and then sometime later yanking in
whatever goes by. Heath’s design
philosophy for software seems to have
carried over from the philosophy
behind their hardware: nothing flashy
or innovative, but it is cheap and it
works reasonably well. Neither portion
of their product is aimed at the
microcomputer fanatic (who by now
has probably already bought a system
anyway (which came first: the com¬
puter or the computer fanatic?). It is
also not a product for the masses out
there, unknowingly waiting for the
phantom PET to be dropped upon
them like some kind of bomb. Rather,
it is ideal for the person who likes
Heathkits and wants to get into
personal computing Heath-style. ■
40
CREATIVE COMPUTING
How Would You Like
A 16-Bit Computer?
Webb Simmons
Those of us whose experience has
been limited to the 8-bit micro¬
computer chips will be seeing some
new and revolutionary computer fea¬
tures before very long. I say this
because the prices on the 16-bit micro¬
computer chips are coming down and
some, such as the Nova chip, are being
second-sourced. Data General is the
prime source for the Nova chip, but it is
rumored that Fairchild has a Nova chip
in the works for the near future.
Some of the new features will be
mighty nice but some will be a little
disappointing. An example of a disap¬
pointing feature is the lack of a stack.
The classic PDP-8 did not use a stack,
so neither does the Intersil imitation of
the PDP-8. The Nova 1200 that Fair-
child Is copying did not use a stack so
neither will theircopy. At leastthe Nova
copy will allow standard code to be
placed in ROM (EPROM, etc.) whereas
a PDP-8 standard subroutine cannot
be placed into ROM because of its
archaic subroutine linkage. The copy
of the PDP-11 (currently the LSI-11,
but perhaps others are to come) has a
stack of course; its disappointing
feature is primarily its high price.
The new features I will discuss are
not new at all, as you might have
guessed. They center around the use of
memory locations to perform register¬
like functions. Most of the giant com¬
puters allow such shenanigans and all
of the so-called minicomputers ab¬
solutely require them.They could not
survive without these features (with the
possible exception of the PDP-11).
Minicomputers have been made with
just one 8-bit register and the PDP-8 is
not particularly fat. Several very
successful minicomputers such as the
HP-2100 by Hewlett-Packard have
had only two registers.
Data General’s microNOVA chip is featured in the one-board CPU with 8K bytes of RAM, and in the
complete microNOVA with its detachable "console.”
JAN/FEB 1978
41
Prices of 16-bit microprocessor chips are coming
down; some are now second-sourced. Here’s a
rundown on the new features you can expect from
16-bit machines in the near future.
The addressable memory increment
in minicomputers can be 8-bit bytes
(examples are the PDP-11 by DEC and
Cl P/2200 by Cincinnati Milacron) or
16-bit words (examples are the Nova
series by Data General). These are not
the only addressable increments; a few
are 12 bits, 18 bits, etc., but let us not
discuss these at all. Regardless of the
addressable increment it is conven¬
tional to think of memory as bytes of 8
bits and words of 16 bits. A word on the
PDP-11 must be two bytes starting with
an even-numbered location, but a word
on the CIP/2200 is two bytes, starting
anywhere. A byte on the Nova is either
the upper or lower half of a word.
The Nova minicomputer has fea¬
tures of most minis that are both
good and bad when compared with
existing 8-bit microcomputer chips
and it is the chip you are most likely (big
question mark here) to see, so let me
use it as an example.
On the Nova, any 16-bit memory
word can be used as a counter, either to
control a loop orforany other purpose.
The Nova uses the instructions ISZ
(increment and skip if zero) and DSZ
(decrement and skip if zero) to manage
these words. If the addressed location
does not become zero upon an ISZ (or
DSZ), the next instruction (which
might be a jump, JMP) is executed in
regular sequence, or else the next
instruction is skipped over.
The Nova allows any memory loca¬
tion (and this is always a 16-bit, 2-byte
word) to be used as a vector or pointer
(address pointer). Such a vector is
used for the indirect addressing mode.
If one loads indirectly from location
100, it is not the value of location 100
that is loaded but it is the value at the
location whose address is contained in
location 100. If location 100 contains
the value 200 and location 200 contains
the value 300, a direct (the ordinary)
load from 100 gets 200, but an indirect
load from 100 gets 300. The indirect
memory references can be loads,
stores, jumps or whatever.
The address field in Nova instruc¬
tions is only 8 bits wide. This means the
Nova cannot directly address without
indexing more than 256 locations (256
words)—the words from 000 to OFF
(hex). Ffowever, the Nova can indirect¬
ly address these same 256 words, each
of 16 bits, and each of these is able to
address the entire machine. These first
256 words on the Nova are called
“page zero.” Page zero figures strong¬
ly on most minicomputers but in a very
different sense than the page zero
restart locations on the 8080 and Z-80.
All Nova instructions can also be
indexed (whether or not they are
indirect) in which case the 8-bit ad¬
dress field of the instruction is regard¬
ed as being a signed value from -128 to
+127 with respect to AC2 of AC3 or the
program counter. AC2 and AC3 are
Nova registers. The Nova has four 16-
bit registers: AC0, AC1, AC2 and AC3;
all four can be used as accumulators
but only AC2 and AC3 (or the program
counter) can be used as an index
register. Indirect addressing may be
combined with indexing on the
program counter to permit any nearby
word to be reserved for use as an
address vector. Indexed addressing on
the program counter is relative ad¬
dressing as it is defined for jumps on
the Z-80.
The most common subroutine jump
or call mechanism on hobbyist com¬
puters is the transfer to a location
identified by a 16-bit address field with
the return vector (return location)
pushed onto the stack. This stack can
be in memory as it is for the 8080 and
Z-80, or it might be in the CPU itself as
it is for the 8008 or IMP-16. Such
hardware-managed stacks are relative¬
ly uncommon in minicomputers. The
PDP-11 has a stack but the older Nova
computers do not. On the Nova the
return vector is always placed into
AC3,destroying any value that might be
there before executing a JSR (jump to
subroutine). Even this subroutine
mechanism is unusual for mini¬
computers. The most common method
for calling subroutines in mini¬
computers is one in which the return
vector is stored in the body of the called
subroutine itself, as it is done in the
PDP-8.
Probably the classic subroutine
calling method uses a JSR 300 in
location 200 to cause the value 201 to
be stored in location 300 and execution
to start at location 301. This is the
method of the PDP-8, CIP/2200 and
many other minicomputers. This, as
was suggested earlier, is not a very nice
subroutine mechanism because it
prevents you from placing the sub¬
routine code in ROM and PROM. If you
really must use ROM on a PDP-8 there
are ways to do it but they are not nice. I
will leave the discovery of such a
method as an exercise for the reader.
Imagine you have a 6800 or 8080 but
that you must not use the subroutine
CALL or JSR. Can you then devise a
method for calling ROM subroutines?
It can be done, and that is what you
must do on the PDP-8.
Anyway, the main improvement in
the instruction set of the Nova over the
Z-80’s set is the larger number of
addressing modes and the ability to
use any memory location’for a counter
or vector. You will miss the ability to
jump anywhere with one instruction,
but you will quickly get used to the
need for a nearby vector for distant
references. A few memory locations on
the Nova are quite special when used
as indirect vectors. The 8 locations
from 10 to 17(hex) are automatically
incremented when used as an indirect
vector while the 8 locations from 18 to
1 F(hex) are automatically decremented
by such use. Only the Nova does not
(normally) speak hex. The incremen¬
ting locations are octal 020 to 027 and
the decrementing locations are octal
030 to 037.
Are you ready to run out and buy that
Fairchild Nova chip when Fairchild
offers it for $10 or more ? The extra
addressing modes are really great but
the conditional instructions are liable
to drive you right up the wall and
maybe completely over the wall. The
Nova does not have conditional jumps,
calls or returns. The only conditional
instructions are skips, which skip the
very next instruction upon a true result.
Frequently the next instruction is a
jump but it need not be so. The Nova
does not have the several typical flag
bits for zero, parity, etc., that you are
accustomed to, but the Nova does have
a carry bit that can be set, cleared, etc.,
and which can be tested either alone or
in combination with a register (ac¬
cumulator).
Actually, the conditional tests on the
Nova are not all that bad afteryou grow
accustomed to them, but their use is
not as straightforward as it is on most
8-bit microcomputer chips. The condi¬
tional tests and much else is discussed
nicely in a very good book, How to Use
the NOVA Computers by William
English and published by Data General
Corp., Southboro, Massachusetts. ■
42
CREATIVE COMPUTING
fj\ OSBORNE & ASSOCIATES, INC.
The World Leaders In Microprocessor Books
Many books on microprocessors and their use are now on the market, and most of them have names that sound alike. But
Osborne & Associates' books have dominated this market since 1975, when our first book appeared. With rave reviews from
all over the world, with more than three hundred university text adoptions, our books are all best sellers. In fact, "An In¬
troduction To Microcomputers: Volume I — Basic Concepts" now holds the world's record in sales volume for any com¬
puter textbook sold for a profit.
If you want information on microprocessors, begin with the Osborne books.
"Some Common BASIC Programs". By
Lon Poole and Mary Borchers.
76 short practical programs with descrip¬
tions and examples. Most can be used ex¬
actly as listed on any microcomputer with
any version of BASIC. 200 pages.
Book No.: 6001 $7.50
J
BASIC Business Programs
Each book has complete program listings in BASIC, user's
manual, and thorough documentation. By Lon Poole and
Mary Borchers.
"Payroll With Cost Accounting — In BASIC. 400
pages. Book No.: 22002 $12.50
"Accounts Payable And Accounts Receivable. Book
No.: 23002 $12.50 Available early 1978.
"General Ledger” Book
No.: 24002. $12.50 Available mid 1978. -
V.
■\
"An Introduction To Microcom¬
iff 1 11 . ..
"T* AN iNTNOOgCTtOW
IQ TO MICROCOMPUTERS
I! c*
8|i VOLUME 0
■flg THE BEGINNER S BOOK
puters: Volume 0 — The Beginner's
Book" By Adam Osborne.
This is the book for the absolute beginner.
Assuming that you know nothing about
i lii i
computers, math or science of any kind, this
1'fff
book explains what computers are all about
— and it takes you to the point where you
PI .% *
can read Volume 1. 300 pages.
Book No: 6001 $7.50 ^
/ -^
"8080A/8085 Assembly Language Pro¬
gramming" By Lance Leventhal.
This book is for the assembly language pro¬
grammer or student; it explains assembly
language programming for the 8080A and
8085 microcomputers. The book contains
numerous examples. 400 pages.
Book No.: 31003 $7.50
8080A/8085
ASSEMBLY
LANGUAGE
PROGRAMMING
Lance Leventhal
r~
"An Introduction To Microcom-
SB AN INTROT)UCT1
* puters: Volume 1 — Basic Concepts" By
fl^^tCaOCOMPUTERSI;
| Adam Osborne.
Jl*
Is* ([ it VOLUME 1 pBjgfi
The world's best selling computer textbook.
1 ^ gSASIC CONCEPTS
j This book explains, clearly, concepts common
to all microcomputers, yet specific to none. 350
pages.
Book No.: 2001 $7.50
nnyffidMaBI™** AtUM OSBORN^
| AN INTRODUCTION |
TO MICROCOMPUTERS!
l ‘n f M
ISOM^EA^WODUCTSl
"An Introduction To Microcom¬
puters: Volume II — Some Real Products"
(Revised June 1977) By Adam Osborne,
Susanna Jacobson and Jerry Kane.
This book describes every common
microprocessor and all of their support devices.
Information is new and clearly written. Only
data sheets are copied from manufacturers.
1200 pages.
Book No.: 3001 $15.00
r
OSBORNE & ASSOCIATES, INC. • P.O. Box 2036 • Berkeley, California 94702 • DEPT. L
PRICE
QTY
AMT
6001
Volume 0 — The Beginner's Book
$ 7.50
2001
Volume 1 — Basic Concepts
7.50
3001A
Volume II — Some Real Products
15.00
4001
8080 Programming For Logic Design
7.50
5001
6800 Programming For Logic Design
7.50
7001
Z80 Programming For Logic Design
7.50
31003
8080A/8085 Assembly Language Programming
7.50
21002
Some Common BASIC Programs
7.50
22002
Payroll With Cost Accounting
12.50
• 6-1/2%, SF Bay Area residents only
• 6%, California residents outside SF Bay Area
• Payment must be enclosed for urders of
10 books or less.
• I have enclosed:
TOTAL
Sales Tax (Calif, residents only)
Shipping Charges
□ check □money order TOTAL AMOUNT OF PURCHASE
NAME
ADDRESS
CITY STATE ZIP PHONE
SHIPPING CHARGES
□ 4th class (no charge, allow 3-4 weeks within USA, not applicable to discounted orders)
□ $.50 per book, UPS (allow 10 days)
□ $1.50 per book, special rush shipment by air
□ $3.00 per book, foreign air mail. No foreign surface mail orders.
Shipping chargee for bulk orders to be arranged
Please send information on:
n consignments □ dealer discounts □ foreign distributors
F2
_/
V.
44
CREATIVE COMPUTING
Turing Machines
John Lees
In what may be the last in this series of articles, for a while at
least, we are going to climb into our Turing machine and drive
off into the sunrise of automata theory. We aren’t going to go
very far, since automata theory becomes very complicated
rather quickly, but we’ll explore the basic concept. A. M.
Turing, in case you’re wondering, was an English mathemati¬
cian who did pioneering work in computer science back in the
beginning and even before. Perhaps most well known for the
proposed test of machine intelligence which bears his name,
Turing died in 1954.
The Turing machine is a logical, not a mechanical, device,
although you can certainly build or simulate one. As such it is
possible to present the concept in a number of ways, so don’t be
confused if you see Turing machines discussed elsewhere using a
different notation. A Turing machine is a type of recognizing
device, generally accepted as defining what computer scientists
call a procedure. It can be shown that a Turing machine can be
used to describe any computation which any digital computer
can perform.
What is a procedure? You probably have a loose idea of a
procedure as a sequence of steps performed to achieve some
desired result, and that is essentially correct. A procedure is a
finite sequence of steps performed to achieve a desired result but
not guaranteed to achieve the result. A sequence of steps which
always achieves a result is an algorithm. An algorithm always
halts; a procedure may or may not halt. This distinction is
obviously of great importance to the writer of a program. An
infinite loop is a procedure.
From the diagram of our elementary Turing machine you can
immediately see that it is very simple. Yet any program run on a
digital computer can be reduced to the point where it can be
represented by just such simplicity. Next time a computer tries
to intimidate you, remind it that it’s just a Turing machine
putting on airs.
Our elementary Turing machine has a control unit, essentially
a CPU, and a tape head with which it can read or write one
symbol at a time in one cell of the tape at a time. The tape can be
moved left or right one cell at a time, infinitely to the right.
Initially a number of cells on the left contain symbols; the
remainder of the tape is blank. The tape head starts out on the
leftmost cell.
So what does a Turing machine do when you turn it loose? It
makes a sequence of moves and in each move three things
happen:
1. The machine changes state.
2. A symbol is written in the current cell, replacing the
symbol or blank previously there.
3. The tape head is moved left or right one cell.
Each of these three things always happens each move, although
the machine may change to the same state and may write back
the same symbol it read.
The set of states amount to a program. Each state
specification has the following form:
(CURRENT STATE, SYMBOL) - (NEW STATE, NEW
SYMBOL, DIRECTION)
This amounts to a programming language with only one
statement type, which means: If in the CURRENT STATE and
if SYMBOL is under the tape head (SYMBOL is the contents of
the current cell), then change state to NEW STATE, write NEW
SYMBOL to the current cell and move one cell in DIREC¬
TION. Then the machine evaluates the new cell in light of the
new state, etc.
One state will be indicated as the start state or initial state and
one or more as the final state. When a final state is reached, the
Turing machine is said to have recognized the input on the tape
and halts. Usually the initial symbols on the tape are considered
to be a string in some formal language and the Turing machine is
said to recognize the sentence when it halts by going into a final
state.
If the Turing machine does not recognize the sentence, then it
may either reach an invalid state; that is, the wrong symbol is
under the head for the current state, and halt, or it may simply
run forever, never halting. When the input is considered as a
sentence in a language, the states have a close relationship to the
grammar for the language.
Now let’s consider an example of a specific Turing machine,
one which recognizes the language {L= l n 0|n^l}. This
language is a string of at least one “I” followed by exactly one
“0”. The states of our machine might look like this:
(S,,l) - (S 2 ,X,R)
(S 2 ,l) ^ (S 2 ,X,R)
(S 2 ,0) - (S 3 ,Y,R)
(S 3 ,B) - (S 4 ,B,L)
The start state is Si, the final state is S 4 . “1” and “0” are symbols
which may appear in cells of the tape, “B” stands for a blank cell.
“X” and “Y” are symbols written on the tape so the machine can
determine if that cell has already been read, although that is not
necessary in our example. “R” and “L” are the direction the head
is moved to the next cell.
Showing the moves of the Turing machine for a string it
recognizes;
nio (Sui) - (s 2 ,x,r)
xno (s 2 ,i) - (s 2 ,x,r)
XXJO (S 2 ,l) - (S 2 ,X,R)
XXXO (S 2 ,0) - (S 3 ,Y,R)
XXXY_ (Sa,B) - (S 4 ,B,L)
The last move results in the machine entering its final state, S 4 ,
and halting. So the machine recognizes the string “1110” as a
valid string in the language L.
Now let’s look at two examples where the same Turing
machine does not recognize the input string:
JAN/FEB 1978
45
S-100 BUS
t
CSR 1
SYNTH ESIS-BY-RULE
SOFTWARE
t
SPEAK “KAAMPYUTAOLKER”
noo (Si,i) — (s 2 ,x,r)
* XjOO (S 2 ,l) — (S 2 ,X,R)
XXOO (S 2 ,0) - (S 3 ,Y,R)
xxxo
In state S 3 , “O” is not valid as the contents of the cell under the
tape head. So the machine halts in error, not recognizing the
input string.
nil... (Si,i) — (s 2 ,x,r)
xm... (s 2 ,i) — (s 2 ,x,r)
XXJ_1... and on and on and ...
With an infinite string of “l”s as input, our Turing machine will
neither halt in the final state nor reach an invalid state. It will
continue forever.
Actually in the formal definition of a Turing machine, we do
not allow the tape to initially contain an infinite string. The
point of the last example is that a Turing machine produces a
useful result only if it halts. That it doesn’t halt proves nothing
— the next symbol could be the one that would result in the
machine recognizing and halting. This is why we say that a
Turing machine defines a procedure, not an algorithm.
In the process of recognizing a valid input string, the Turing
machine can perform can perform computations. Consider a
machine that recognizes the following strings: “0+0=”, “0+l=”,
“l+0=”, and “1 + 1=”:
MODEL CT-1 SYNTHESIZER 395.00
CSR1 SOFTWARE SYSTEM 35.00
DEMONSTRATION CASSETTE 2.95
CALIF. RESIDENTS ADD 6% SALES TAX
WRITE FOR INFORMATIVE LITERATURE
COMPUTALKER CONSULTANTS
. BOX 1951, DEPT. E, SANTA MONICA, CA 90406
Tarbell
Floppy Disc Interface
Designed for Hobbyists and
Systems Developers
• Plugs directly into your IMSAI or ALTAIR* and handles up
to 4 standard single drives in daisy : chain.
• Operates at standard 250K bits per second on normal disc
format capacity of 243K bytes.
• Works with modified CP/M Operating System and BASIC-E
Compiler.
• Hardware includes 4 extra IC slots, built-in phantom boot¬
strap and on-board crystal clock. Uses WD 1771 LSI Chip.
• 6-month warranty and extensive documentation.
• PRICE: Kit $190. Assembled $265
* ALTAIR is a trademark/tradename of MITS, INC.
20620 Soutti Leapwood Avenue. Suite P
Carson, California 90746
(213) 538-4251
(S,,0) — (S 2 ,Y,R)
(S 2 ,+) - (S 4 ,Z,R)
(S 4 ,0) - (S*,Y,R)
(S 4 ,l) — (S*,X,R)
(S* =) - (Sio,Q,R)
(Sh,=) - (S.2,Q,R)
(Sio,B) -■- (Sio,0,R)
(S,2,B)- (S.2,1,R)
(S,,l) — (S 3 ,X,R)
(S 3 ,+) - (Ss,Z,R)
(Ss,0) - (S 7 ,Y,R)
(S 5 ,I) — (S9,X,R)
(S7,=)-(Sm,Q,R)
(S 9 ,=)—(S I3 ,Q,R)
(S,,,B) — (Sn,l,R)
(S,.,,B) - (S,3,2,R)
Start state = Si
Final States = Sm, Sn, Si 2 , Si 3
Here’s how this Turing machine processes one of the valid input
strings:
1+0=
(S,,l) -(S 3 ,X,R)
X+0=
(St,+) - (Ss,Z,R)
xzo=
(Ss,0) - (S 7 ,Y,R)
XZY=
(S 7 ,=) — (Sm,Q,R)
XZYQ_
XZYQ1_
(Su,B) - (S 14 ,1,R)
The machine has halted in one of its final states after computing
that 1+0=1. A Turing machine to handle generalized arithmetic
functions would have a very large number of states, but it could
be done.
This example, simple as it is, should make it clear that
anything which can be done on a digital computer can be
restated in terms of a Turing machine. Looked at as a computer,
a Turing machine can increment or decrement a memory
address, read and write in a memory location, and perform a
compare. A very simple machine, indeed! This proves the hard-
to-believe fact that, given enough time and storage, anything
you can compute on one computer can be computed on any
other computer. So don't feel in awe of an IBM 370. Just buy a
lot of memory and practice patience.
What we have been discussing is called an elementary Turing
machine, because more complicated versions exist. The tape can
be infinite in both directions, more than one tape (but still one
tape head) may be used, or instead of a tape a two-dimensional
grid may be used, with four possible moves from each cell. All of
these modifications can be proved to be equivalent to the
elementary Turing machine. Just as with computers, moving up
to a more sophisticated model doesn’t let you do anything
fundamentally different — you are just able to do things more
easily, with fewer steps.
Remembering that all current digital computers are fun¬
damentally equivalent to a Turing machine, you might want to
ponder for a while what it would mean if someone succeeded in
simulating human intelligence on a computer. Is that really all
we have between our ears, a Turing machine? ■
46
CREATIVE COMPUTING
by Susan Hastings
Years ago, manufacturers of retail marketing equipment
recognized the need for automated systems of merchandise
marking, but, because there was no alternative at the time,
each manufacturer was forced to develop his own standard
for automated data input. As equipment manufacturers and
retailers began to recognize the difficulty of supply the
hardware and software necessary to support all of the
various systems, industry-wide marking standard was
urgently sought. In 1966, after perhaps the speediest
example of technological cooperation in history, OCR-A
was adopted as a U.S. general purpose data processing
standard for merchandisers; internationally it was adopted
in 1969. But until recently, a merchandise identification
system that was both technically sound and economically
feasible had not been available. Now though, a chain of
recent hardware and software advances have forged the
missing link between the Universal Vendor Marking
Standard and systems technology that will make it possible
for retail automation to move into a new and more
productive era.
All this progress however, will remain meaningless until
it is actually implemented. In a speech tothe National Retail
Merchants Association's 65th annual convention, William
S. Anderson, chairman and President of NCR urged
everyone associated with retailing — shoppers, merchants,
merchandise manufacturers, and especially, equipment
manufacturers — to assist in the implementation of the
UVM in order that its great potential might be proven.
Anderson said that retail equipment manufacturers can
support the new Universal Standard because:
• It is a standard chosen and promoted by the general
merchandise retailing industry rather than a single
equipment manufacturer.
• It is human readable as well as machine readable,
offering both internal systems benefits and external
customer benefits.
• It is a standard which can be printed by relatively
inexpensive mechanisms and thus can be implemented at
relatively low cost.
• It can be used with virtually any retail medium
including credit cards, invoices and other control devices.
Retailers, Anderson stated, will benefit from OCR-A
scanning because with it they will have a powerful newtool
for achieving inventory control at the unit level rather than
at the dollar level, thus, buying and selling merchandise can
be accomplished more efficiently and more profitably. This
benefit will be passed on to merchandise manufacturers as
stock control is improved, orders are filled more efficiently,
and there is more timely feedback on product reception in
the marketplace.
Finally, the shopping public will find that UVM brings
them new levels of shopping convenience, savings of time
and greater protection against error as well as a better
selection of merchandise through a reduction of out-of-
stock situations.
A UVM standard makes computerized scanning systems
inexpensive. And newtechnology will be constantly shaving
away at equipment costs.
Implementing any new standard is a big and complex
undertaking. This is especially true when the standard
involves an industry with the tremendous diversity of
retailing and its many thousands of suppliers. But if
everyone in every facet of retailing is aware of the benefits
of the new standard, perhaps the UVM will become the
basis of the Retail Revolution of 1976.
Or 1977, or 1978, or 1979, etc. Asa result of a variety of
unanticipated ills (malfunctioning computers,, union
pressure, actions by the Consumer Federation of America
and others, shoppers objections to price markings only on
the shelves, etc.), UVM (or UPC) has had a rough time
getting off the ground. The fact that some of the major
supermarket chains have decided to play a wait-and-see
game hasn't helped either. Will UVM and Supermarket
scanning be a repeat performance of the great Eastern
Railroads Debacle or the Alaska Pipeline Botch? Only time
will tell, but in the meantime the name of technology gets
dragged through a few more feet of mud and if it eventually
emerges victorious, is it really a victory? — DHA ■
r?
MODERN STORE
DEPT CLASS
; 11 223
MODERN
STORE
sub q 4
CLASS -7 ^
VENDOR
361326
COLO*
RED
SIZE
SMALL
style
3166
DEPT
965
2/$ 22•99
JAN/FEB 1978
47
WORLD2
Here’s your chance to create a
better world, by experimenting
with a simulation model.
James L. Murphy 4
In [1] Jay W. Forrester presented a
world population model interrelating
many variables including population,
natural resources, food supply, pollu¬
tion, capital investment, and quality of
life. The computer program presented
there was written in the Dynamo
language. This is a version of the same
model written in BASIC. The program
can best be used in conjunction with
the model description given in World
Dynamics.
In lines 5000-6000 the variables as
used in World Dynamics are related to
the corresponding variables of the
BASIC program along with the line
number in which they are defined. This
makes it quite easy to make
modifications in the program, allowing
the user to duplicate the results
reported by Forrester as well as to
experiment on his own to try for a
"better world” according to your own
values and assumptions.
Figure 1 shows the outcome when
using the assumptions of the original
model. In this model the world runs
‘Dept. of Mathematics, California State College,
5500 State College Pkwy, San Bernardino, CA
92407.
down for lack of natural resources. You
can test what would happen if you
assumed the natural resources
available in 1900 were double what was
originally assumed available (see
Figure 2). In line 5460 of the program,
you see that natural resources initial is
N1 and defined in line 2270 which was
changed in the run of Figure 2 from
900E9 to 1800E9. This caused pollution
to grow out of control, so one might
want to introduce a pollution-control
program. In line 5610, we see that
pollution normal (after switch time) is
S4 and defined in line 2400. By chang¬
ing S4 from one to one-half, we see in
Figure 3 what happens if, starting in
1970, the amount of pollution produc¬
ed per person is somehow cut in half.
To simulate a birth-control program,
we see in line 5050 that B2 is the birth¬
rate normal (after switch time) and is
defined in line 2110. Figure 4 shows the
result of setting the birth rate equal to
the death rate beginning in 1970.
Many other changes can be made in
this same way by using the descrip¬
tions in lines 5000-6000 to locate where
a particular variable is to be defined in
the program, and then modifying that
line to suit your own assumptions
regarding that particular variable.
There are three different sets of five
variables each whose graphs may be
produced. The variable A9 in line 1680
determines which of the three sets of
variables is to be graphed (see Figure
5). If you would rather have a list of
numbers for the variables rather than
see their graphs, simply change line
2500 as in Figure 6.
There are many assumptions made
in World Dynamics as to the
relationship between various variables
within the model. You may change
these assumptions by changing the
corresponding DATA statements in
lines 1240 to 1670. For example, to
change the way in which you believe
the death rate is affected by pollution,
you would alter the values in line 1510.
It is fairly easy to do this if you first look
at page 41 of [1 ] where th.e assumptions
made by Forrester regarding these two
variables are given. With these few
examples and the program listing, I
think you will now be able to create
your own future worlds.
[1] Forrester, Jay W. World Dynamics. Wright-
Alien Press, Inc., Cambridge, Massachusetts,
1971.
48
CREATIVE COMPUTING
100 0 1 ****** ************ 44 **************************************
1010 !
1020 !A PROGRAN WRITTEN BY JANES L. NURPHY
1030 IflT CftLIF. STATE COLLEGE SAN BERNARDINO
1040 !BASEH ON A HOBEl BY JAY U. FORRESTER
1050 !IN 'WORLD DYNANICS', URIGHT-AlLEN PRESS 1971.
1060 '
1070 !****************************************************************
1080 !
1090 !A DESCRIPTION OF VARIABLES BEGINS AT LINE 5000
1100 !
1110 DIN Y(2i), D(2i*10)
1120 DIN P(5i), C(5)
1140 PRINT 'WORLD POPULATION NODEL 9-15-77'
1160 NAT D = 2ER
1170 NAT Y = ZER
1180 FOR I = 0 TO 21
1190 FOR J = 0 TO 10
1200 READ D(I*J)
1210 NEXT J
1220 NEXT I
1230 RESTORE
1240 REN BRCN FRON CR
1250 DATA 1.05* 1. .9*.7*.6*.55* Oi0* 0* 0* 0
1260 REN DRCN FRON CR
1270 DATA .9*1*1.2*1.5*1.9*3* 0*1#* 0*0* 0
1280 REN FCH' FRON CR
1290 DATA 2.4*1*.6«.4*.3*.2*0*0*0*0*0
1300 REN OLC FRON CR
1310 DATA 2*1.3*1*-75*.55*.45*.38*.3*.25*.22*.2
1320 REN FPCI FRON CIRA
1330 DATA .5*1*1.4*1.7*1.9*2.05*2.2* 0* 0* 0» 0
1340 REN POLCN FRON CIR
1350 DATA .05*1*3*5.4*7.4*8* 0* 0* 0*0* 0
1360 REN NREN FRON NRFR
1370 DATA 0*.15*.5*.35*1* 0* 0* 0* 0* 0* 0
1380 REN QLN FRON HSl
1390 DATA .2*1*1.7*2.3*2.7*2.9*0*Oi0*0*0
1400 REN NRNN FRON NSL
1410 DATA 0*1.1.8*2.4*2.9*3.3*3.6*3.8*3.9*3.95*4
1420 REN CIN FRON NSL
1430 DATA .1*1*1.8*2.4,2.8*3*0,0,0*0*0
1440 REN DRNN FRON NSL
1450 DAJA 3*1.8*1*.8*.7*.6*.53*.5*.5*.5*.5
1460 REN BRHH FRON NSL
1470 DATA 1.2*1*.85*.75*.7*.7,0,0* 0* 0* 0
1480 REN FPN FRON POLR
1490 DATA 1.02*.9*.65*.35*.2*.1*.05*0*0*0*0
1500 REN DRPN FRON POLR
1510 DATA .92*1.3*2*3.2*4.8*6.8.9.2*0.0.0*0
1520 REN DRPN FRON POLR
1530 DATA 1.02*.9*.7*.4*.25*.15..1*0.0.0.0
1540 REN QLP FRON POLR
1550 DATA 1.04*.85*.6*.3*.15*.05*.02*0.0*0.0
1J60 REN BRFH FRON FR
1570 DATA 0*1*1.6*1.9*2*0.0.0.0.0.0
1580 REN DRFN FRON FR
1590 DATA 30*3* 2*1.4*1*.7*.6*.5..5*0*0
1600 REN CFIFR FRON FR
1610 DATA 1* .6* .3*. 15* .1* 0* 0.0* 0* 0* 0
1620 REN CLF FRON FR
1630 DATA 0.1*1.8.2.4*2.7*0.0*0*0.0*0
1640 REN CI OR FRON QLN/QLF
1650 DATA .7,.8*1*1.5*2.0.0*0.0*0.0
1660 REN POiAT FRON POLR
1670 DATA .6*2.5.5*8,11.5.15.5*20*0.0*0,0
1680 A9 = 1
1690 C$ = "PNSQC"
1700 IF R9 = 1 THEN 1740
1710 C$ = 'NRIkiA"
1720 IF A9 = 2 THEN 1740
1730 CS = 'GFLBX"
1740 CHANGE C$ TO C
1750 ll<4> = *P2 - POPULATION"
1760 D$(2) = 'N2 - NATURAL RESOURCES'
1770 B*(3> = "S7 - POLLUTION RATIO'
1780 B*(4) = '02 - OUAHTY OF LIFE*
1790 B$(5) = n C2 - CAPITAL INVESTflENT'
1800 IF A9 = 1 THEN 1930
1810 Bid) = 'F8-NATERIAL STAND.OF LIU.'
1820 Bi(2) * 'N6-NAT.RESOURCE USAGE'
1830 Ji(3> = '04-CAP.INVEST.RATIO'
1840 BS(4> = 'G5-CAP.INVEST.RAT.AGRIC.*
1850 Bi<5) = 'C4-CAP.INVEST.AG.FRAC.'
1860 IF A9 = 2 THEN 1990
1870 Bid) = ' S6-P0LLUTI ON GENERATED'
1880
B*(2)
= 'F6-I
1890
BS<3)
= 'P2/I
1900
B$(4)
= “B3/I
1910
B*(5)
= ' 63-1
1920
GO TO
i 2050
1930
Wd)
= 8E9
1940
W(2)
= 2E12
1950
W(3>
= 40
1960
U(4)
= 2
1970
U (5 >
= 2E10
1980
IF A9
i * 1 THI
1990
Ud)
= 4
2000
U(2)
= 20E9
2010
W(3)
2 4
2020
kU>
= 4
2030
U(5)
= 1
2040
IF AS
• = 2 THI
2050
Ud)
2 40E9
2060
U(2)
* 2
2070
U(3)
= 100
2080
W (4 >
= .1
2090
W(5)
= 2
2100
Bi =
.026
2110
B2 =
, 026
2120
Cl =
. 4E9
2130
C2 =
Cl
2140
C3 =
.2
2150
C4 =
C3
2160
C5 =
15
2170
C6 =
.3
2180
C7 *
.025
2190
C8 =
.025
2200
FI =
1
2210
F3 =
1
2220
F4 =
1
2230
F5 =
1
2240
F7 s
135E6
2250
G1 =
.05
2260
G2 =
.05
2270
hi =
900E9
2280
N2 =
Nl
2290
N3 =
1
2300
N4 =
1
2310
Pi =
1.65E9
2320
P2 =
Pi
2330
P3 =
26.5
2340
Cli =
1
2350
R1 -
.014
2360
R2 =
.014
2370
Si =
.2E9
2380
S2 =
Si
2390
S3 =
1
2400
S4 =
1
2410
S5 =
3.6E9
2420
T1 =
1900
2430
T2 =
2100
2440
T3 =
1970
2450
T4 =
1
2460
T5 =
Ti
2470
L3 =
5
2480
N3 =
5
2490
N2 =
-1
2500
Vi *
T2 ♦ 1
2510
W2 =
20
2520
2720
PRINT
IF U1
, < 72 TI
2730
FOR I
= 1 TO
2740PRINT
NID(C$,:
2750
NEXT
I
2100
Grain vs. People
An article in The Wall Street
Journal (January 20, 1975) reports
that world food production is grow¬
ing. It is. USDA supplies the follow¬
ing figures on grain production:
1970 . . . 1.11 billion metric tons
1974 . . . 1.12 ”
Thus, grain production in 1974 was
10 million metric tons higher than
in 1970.
BUT, in the same 5 year period,
the world produced 355.1 million
additional people, whose grain re¬
quirements each year (at the world
per capita average of 311 kilos), are
not 10 million more metric tons,
but 110 million more metric tons.
Some have said the earth can
hold many more people than it now
has. From the standpoint of room
alone this is so but do we want our
voyage on earth to be as one on a
cruise ship or one on a troop ship?
—Jack J. Combes, “Some Thoughts on
Limits to Growth,” NAM Reports , Aug.
13, 1973, p. 9.
REPRESENTS 'iB$(I)*'— SCALED T0'*H(i)
2760 PRINT
277 OP $ =' 0.2
2775PRINT* 0.0”,P$
2780 IF T5<T3 THEN 2860
2790 B1 = B2
= R2
= F5
= S4
= C8
= 62
s N4
* P2/(F7*P3)
-1
0.4
0.6
0.8
2800 R1
2810 F4
2820 S3
2830 C7
2840 G1
2850 N3
2860 63
2870 I =
2880 X * G3
2890 K = 5
2900 GOSUB 3860
2910 60SUB 3860
JAN/FEB 1978
49
2920 GOSUB 3860
2930 X 2 2*G3
2940 X 2 10
2950 GOSUB 3860
2960 G4 2 C2/P2
2970 G5 2 G4*C4/C6
2980 X 2 G5
2990 X 2 6
3000 GOSUB 3860
3010 X 2 G4
3020 K 2 5
3030 GOSUB 3860
3040 S6 2 P2*$3*Y(5)
3050 N5 2 N2/N1
3060 X 2 4♦N5
3070 X 2 4
3080 GOSUB 3860
3090 F2 = G4*(i-C4)*Y(6)/<i-C6)
3100 F8 2 F2 /FI
3110 X = F8
3120 X 2 5
3130 GOSUB 3860
3140 X = 10
3150 GOSUB 3860
3160 X 2 5
3170 GOSUB 3860
3180 X 2 2*F8
3190 X 2 10
3200 GOSUB 3860
3210 X 2 F8
3220 X 2 5
3230 GOSUB 3360
3240 N6 2 P2*N3*Y(8)
3250 G6 2 P2*Y(9)*G1
3260 G7 2 C2*C7
3270 S7 2 S2/S5
3280 X 2 S7/10
3290 X 2 6
3300 GOSUB 38*0
3310 GOSUB 3860
3320 GOSUB 3860
3330 GOSUB 3860
3340 F6 2 Y(4)*Y(2)*Y(12)*F4/F3
3350 X = F6
3360 X 2 4
3370 GOSUB 3860
3380 X 2 4*F6
O'i 0 f» V s 0
3400 GOSUB 3360
3410 R3 2 P2*Rl*Y(10)*Y(i3)*Y(i?)*Y<i)
3420 B3 = P2*Bi*Y<i6)*Y(ii)*Y(0)*Y(14)
3430 X = 2*F6
3440 X=4
3450 GOSUB 3860
3460 X 2 F6
3470 GOSUB 3360
3480 X = 2*Y(7)/Y(19)
3490 GOSUB 3860
3500 X 2 S7/10
3510 X 2 6
3520 GO SUB 3860
3530 $8 2 S2/Y(21)
3540 02 2 Qi*Y(?)*Y(3)*Y(i9>*Y(15)
3550 IF T5 < HI THEN 3590
3560 IF T5 2 Hi THEN 4510
3930 Y(I) = D(I»K)
3940 GO TO 3960
3950 Yd) = BdfJ) ♦ <X-J)*(Dd»J)-Dd*J-l))
3960 RETURN
3970 REM **********PLOT ROUTINE**********
3980 ON A9 GOTO 3985.4040,4100
3985 V(1)*P2
3990 U(2) 2 N2
4000 V(3) 2 S7
4010 U(4) 2 G2
4020 V<5> 2 C2
4030 GOT04150
4040 U(l) = F3
4050 U<2) 2 N6
4060 U<3) 2 G4
4070 U(4) = G5
4080 V(5) 2 C4
4090 GOTO4150
4100 U(l) 2 S6
4110 U(2) 2 F6
4120 U(3) 2 P2/R3
4130 V(4) 2 B3/P2
4140 U(5) 2 G3
4150 L6 2 0 _
4160 L2 = T5 - T1
4170 L4 2 L2 - IN7(L2/L3)*L3
4180 IF L4 (> 0 THEN 4500
4190MATP 2 CQN:MATP=(32)*P
4280 M2 2 H2+1
4290 IF (M2 - INT(H2/H3)*M3) <> 0 THEN 4340
4300 HAT P 2 CON
4310 HAT P s(45)*P
4330 L6 2 1
4340 F0RL1=1T051STEP1G:P(L1)=124
4345NEXT Ll:FOR L1=1T05
4350 14 2 INT(50*U(Ll)/W(Ll)+.5) +1
4360 IF L4 > 51 THEN L4=5i
4370 IF L4 < 1 THEN L4=i
4380 P(L4) 2 C<Ll)
4390 NEXT Ll
4400 P(0) 2 51
4410 CHANGE P TO PS
4460 IF L6 2 0 THEN 4490
4470 PRINT T55' "BPS
4480 RETURN
4490 PRINT * "iPI
4500 RETURN
4510 PRINT , BflTE',‘POP*»"NR*»"Cl",*CIRF B »
4520 PRINT 'POlR", "OL", B CR',"CIR B , B CIRA B ,
4530 PRINT , HSL B > B FR , , B NRFR B , B BR/P B , B LIFE EXP*
4540 PRINT
4550 PRINT T5,P2,N2,C2.C4,
4560 PRINT S7,Q2,G3,G4,G5,
4570 PRINT F8,F6,N5,B3/P2,P2/R3
4580 PRINT
4590 GO TO 3600
460QEND
Re«dt
“Stated most simply, if mankind
is to live in the state of material
well - being that technology can
make possible, then, given the finite
size and resources of the planet,
there are just too many of us al¬
ready .”
—Philip Handler, President, Na¬
tional Academy of Sciences. Bio¬
science, July 1975, p. 425.
3570
IF ((75 -Wl) -W2*INT((T5-W1)/W2)) 2 0 THEN 4550
5000
’3420
B3
3580
GO TO 3600
5010
*2900
Y(0)
3590
GOSUB 3980
5020
’3370
Y(16)
3600
P2 2 P2 * T4*(B3 - R3)
5030
’ 3230
Y (11)
3610
N2 2 N2 - T4*N6
5040
’2180
B1
3620
S2 2 S2 * T4*(S6 - SS)
5050
’2110
B2
3624
IF S2 > 0 THEN 3630
5060
’3320
Y < 14 >
3626
S2 2 0
5070
’ 3450
Y < 18)
3630
C4 2 C4 ♦ (T4/C5)*(Y(18)*Y(20)-C4)
5080
’364 0
C2
3640
C2 2 C2 ♦ T4*(G6 - G7)
5090
*3630
C4
3650
T5 2 T5 ♦ T4
5100
’2140
C3
3660
IF T5 < (T2 ♦ T4) THEN 2780
5110
’2170
C6
3670
PRINT
5120
’2160
C5
3680
PRINT
5130
’3260
G7
3690
PRINT
5140
’2180
C7
37D0G0TO4600
5150
’2190
C8
3850
REM **********7ABLE INTERPOLATION ROUTINE*** 2 **** 2 *
5160
’3250
G6
3860
I 2 I ♦ 1
5170
’2250
G1
3870
IFX<0THEN X=0
5180
’2260
G2
3880
J 2 INT(X>+1
5190
’2120
Cl
3890
IF X<X THEN 3950
5200
’3170
Y(9)
50
BR BIRTH RATE (PEOPLE/YEftR)
BRCH BIRTH-RATE-FROH-CROWDING MULTIPLIER
BRFM BIRTH-RATE FRON-FOOD MULTIPLIER
BRMH BIRTH-RATE FROM-MATERI Al MULTIPLIER
BRN BIRTH RATE NORMAL (FRACTION/YEAR)
BRN1 * " " (AFTER SWITCH TIME)
BRPM BIRTH-RATE-FROM-POLLUTION MULTIPLIER
CFIFR CAPITAL FRACTION INDICATED BY FOOD RATIO
Cl CAPITAL INVESTMENT
CIAF CAPITAi-INUESTHENT-IN-AGRICULTURE FRACTION
CIAFI ..... j NITI a L
CIAFN ..... hORHAL
CIAFT «... -ADJUST TIME
CID CAPITAL INUESTMENT DISCARD
CIDN * B 1 NORMAL
CIBN1 B * 1 B (AFTER SWITCH TIME)
CIG CAPITAL INUESTMENT GENERATION
CIGN
CIGNi B
Cl I CAPITAL INUESTMENT
ClM CAPITAL INUESTMENT
B NORMAL
B " (AFTER SWITCH TIME)
INITIAL
multiplier
CREATIVE COMPUTING
5210
’3490
Y < 2 0)
5220
’2960
G4
5230
’2970
G5
5240
’2860
G3
5250
’3410
R3
5260
’2910
Y(l)
5270
’3400
Y(17)
5280
’ 3200
Y (10)
5290
’2350
Ri
5300
’2360
R2
5310
’3310
Y(13)
5320
’ 3090
F2
5330
’2200
FI
5340
’2220
F4
5350
’2236
F5
5360
’2920
Y(2)
5370
’2210
F3
5380
’3000
Y<4)
5390
’3300
Y (12)
5400
’ 334 0
F6
5410
’2240
F7
5420
’3100
F8
5430
’3610
N2
5440
’ 3080
Y(6)
5450
’3050
N5
5460
’2270
NI
5470
’3150
Y(8)
5480
’2290
N3
5490
’2300
N4
5500
’3240
N6
5510
’ 3600
P2
5520
’2330
P3
5530
’2310
PI
Cl OR 1 1 FROH QUALITY RATIO
CIR CAPITAL INVESTMENT RATIO (CAPITAL UNITS/PERSON)
CIRA ' - - IN AGRICULTURE
CR CROUHING RATIO
DR DEATH RATE (PEOPLE/YEAR)
DRCH DEATH-RATE-FROH-CROHDING MULTIPLIER
DRFM DEATH-RATE-FROM-FOOD MULTIPLIER
DRHH BEATH-RATE-FROM-HATERIAL MULTIPLIER
DRN DEATH RATE NORMAL (FRACTION/YEAR)
DRNi * 1 1 (AFTER SNITCH TIME)
DRPM DEATH-RATE-FROH-POLLUTI ON MULTIPLIER
ECIR EFFECTIVE-CAPITAL-INVESTMENT RATIO (CAP/PERSON)
ECIRN 1 ' NORMAL
FC FOOD COEFFICIENT
FCi FOOD COEFFICIENT (AFTER SNITCH TIME)
FCM FOOD FROM CRONDING MULTIPLIER
FN FOOD NORMAL (FOOD UNITS/PERSON/YEAR)
FPCI FOOD POTENTIAL FROM CAPITAL INVESTMENT
FPH FOOD FROM POLLUTION MULTIPLIER
FR FOOD RATIO
LA LAND AREA (SQUARE KILOMETERS)
HSL MATERIAL STANDARD OF LIVING
NR NATURAL RESOURCES
NREM NATURAL RESOURCES EXTRACTION MULTIPLIER
NRFR ’ ■ FRACTION REMAINING
NRI ' " INITIAL
NRHH NATURAL RESOURCES FROH MATERIAL MULTIPLIER
NRUN ■ * USAGE NORMAL (UNITS/PERSON/YEAR)
NRUN1 ■ (flFTER S HITCH TIH£)
NRUR NATURAL RESOURCES USAGE RATE (UNITS/YEAR)
P POPULATION (PEOPLE)
PDN POPULATION DENSITY NORMAL (PEOPLE/SQ.KILOMETER)
PI POPULATION INITIAL
5540 ’3620
5550 '3530
5560 ’3520
5570 ’3030
5580 ’3040
5590 *2370
5600 ’2390
5610 ’2400
5620 ’3270
5630 ’2410
5640 ’3540
5650 ’2950
5660 ’3470
5670 ’3130
5680 ’3330
5690 *2340
5700 ’2420
5710 ’2430
5720 ’2440
5730 ’2450
5740 ’2460
5750 ' 3980*
5 7 <0 ’ 1930-
5770 ’2470
5780 ’2480
5790 ’1680
5800 ’2500
5810 ’2510
6000 END
READY.
52 POL POLLUTION (POLLUTION UNITS)
S8 POLA POLLUTION ABSORPTION (POL.UNITS/YEAR)
Y(21> POLAT " * TIME (YEARS)
Y(5) POLCM POLLUTION FROM CAPITAL MULTIPLIER
56 POLG POLLUTION GENERATION (UNITS/YEAR)
SI POLI “ INITIAL
53 POLN POLLUTION NORMAL
54 POLN1 1 " (AFTER SNITCH TIME)
57 POLR ■ RATIO
55 POLS POLLUTION STANDARD (POL. UNITS)
Q2 QL QUALITY OF LIFE (SATISFACTION UNITS)
Y(3) QLC QUALITY OF LIFE FROM CRONDING
y(19) QLF QUALITY OF LIFE FROH FOOD
Y(7) QLH QUALITY OF LIFE FROM MATERIAL
Y<15) QLP QUALITY OF LIFE FROH POLLUTION
Qi QLS QUALITY OF LIFE STANDARD
Ti INITIAL TIME (IN CALENDER YEARS)
T2 ENDING TIME
T3 SNITCHING TIME
T4 CHANGE IN TIME (ONE YEAR)
T5 TIME
■4140 V(I> I-TH VARIABLE FOR PLOT
■2090 N(I) I-TH VARIABLE SCALE
L3 FREQUENCY OF PLOT
M3 FREQUENCY OF DATES IN PLOT
A9 NHICH OF THREE GRAPHS 1 2 OR 3
HI MINIMUM PRINT TIME
N2 PRINT FREQUENCY
NORLD POPULATION MODEL 9-15-77
2270 N1 = 1800E9 ! TO SEE WHAT HAPPENS IF HE DOUBLE NATURAL
RESOURCES AVAILABLE.IN YEAR 1900
RUNNH
NORLD POPULATION MODEL 9-15-77
P REPRESENTS P2 - POPULATION— SCALED TO .8E 10
N REPRESENTS N2 - NATURAL RESOURCES— SCALED TO .2E 13
S REPRESENTS S7 - POLLUTION RATIO— SCALED TO 40
Q REPRESENTS Q2 - QUALITY OF LIFE— SCALED TO 2
C REPRESENTS C2 - CAPITAL INVESTMENT— SCALED TO .2E 11
P REPRESENTS P2 - POPULATION— SCALED TO ,8E 10
N REPRESENTS N2 - NATURAL RESOURCES— SCALED TO .2E 13
S REPRESENTS S7 - POLLUTION RATIO— SCALED TO 40
Q REPRESENTS Q2 - QUALITY OF LIFE— SCALED TO 2
C REPRESENTS C2 - CAPITAL INVESTMENT— SCALED TO .2E 11
1900
1925
1950
1975
2000
2025
2050
0.0 0
SC.I
SC
S C
S C
S C
S-C-
S C
S C
S C
s c
IS-C—
s c
s c
s c
s c
S.-
s
s
s
s
-S.
s
s
s
s
—s-
s
s
s
s
-s—I
0.4
0.6
1.0
0.2
.4
0.6
0.8
2075
2100
P
S Ni
S NI
S NI
—S-N-i
S N IQ
S N IQ
S N IQ
S N IQ
-S—N—Q—
P Q ! N
P QI N
P Q N
P JQN
—P-.I-NQ-
P I N Q
P I N Q
P IN Q
P IN Q
-p-jN-Q—
PIN Q
NP Q
N P Q
NI PQ
C.NI—Q.
C NI Q P
C N I Q
C N I Q
C N IQ
.C—9—
N C I
N Q Cl
N Q Cl
NQ C
—N-Q-SC—
N Q 1C
N Q IC
N Q IC
N 6 IC
-8.IC—
8 IC
8 IC
Q C
6 C
Q—
—C
C
c
C
p
P
p
p
p—
1900
SC—
sc
S C
S C
s c
1925 S--C-
P-8—
P Q
P
P
P
1950
1975
2000
2025
2050
2075
2100
S C
S C
S C
s c
S-— c~
s c
s
s
s
s-
c
s
s
s
s
-s-
.Q-
Q
P Q
P Q
P Q
■—Q-—
QP
Q P
Q P
Q
-Q.
CIQ
QC
_
S Q
SQ
8 S
Q
Q
Q f
QP
P
>
P S
S P
S P
S P
-S—P—
C
C
c
C
.c-
C
—N-
N
N
N
N
-N-
N
N
N
N
-N-
N
N
N
N
P N
P N
N
N P
-N—P
N
S
P
N P
N P
C P
NPC—S-
P NC
C
C N
N
-SN-
N
N
N
Figure 1
Figure 2
JAN/FEB 1978
51
2270 Ni = 1800E9
2110 B2 = .014 ! SIMULATE BIRTH CONTROL PROGRAM BY SETTING BASIC BIRTH
RATE EQUAL TO DEATH RATE STARTING IN SWITCH YEAR 1970.
24O0 S4 = .5 ! SIMULATE POLUTION CONTROL PROGRAM BY REDUCING
POLUTION PRODCED PER PERSON TO i/2 WHAT IT WOULD BE BEFORE 1970. Resdy
Ready
RUNNH
WORLD POPULATION MODEL 9-15-77
P REPRESENTS P2 - POPULATION— SCALED TO .8E 10
N REPRESENTS N2 - NATURAL RESOURCES— SCALED TO .2E 13
S REPRESENTS S? - POLLUTION RATIO— SCALED TO 40
Q REPRESENTS Q2 - QUALITY OF LIFE— SCALED TO 2
C REPRESENTS C2 - CAPITAL INVESTMENT— SCALED TO ,2E 11
1900
O.O
SC--
SC
S c
s c
S C
D.4
1.0
1325 S-C.
S C
S C
S C
S C
1350 iS—-C-
i s c
s c
s
s
s-
s
s
s
s
s-
s
s
s
s
-S.
1975
2O0O
2025
2050
2075
2100
S
S
S
—S-
S
S
S
s
—s-
S
s
s
s
—s-
.8-
Q
P Q
P 8
P 8
Q P
8 P
CQ
8C
q; c
q : c
- 8 -
Q
8
8
8
Q-
N
N
N
N
N
P N
—P-N-
P N
PN
N P
N P
C i N
Cl N
CN
NC
-.—Ni-C-
C
C
C
C
N
N
-N—
N
N
N
N
N-
C
C
C
C
-c—
P
p
p
—p—
p
p
p
p
p
p
p
p
-p—
Figure 3
RUNNH
WORLD POPULATION MODEL 9-15-77
P REPRESENTS P2 - POPULATION— SCALED TO .8E 10
N REPRESENTS N2 - NATURAL RESOURCES— SCALED TO .2E 13
S REPRESENTS S7 - POLLUTION RATIO— SCALED TO 40
Q REPRESENTS 82 - QUALITY OF LIFE— SCALED TO 2
C REPRESENTS 02 - CAPITAL INVESTMENT— SCALED TO ,2E 11
1300
1325
0.0
SC—-
SC
s c
s c
s c
s—c—
s c
0.2
—p—
IP
0.4
0.6
0.
-N-
1350
1375
2O0O
2025
2050
2075
100
SN
SN
.SN-
S N
S N
S N
S N
—S—N—
P
P
P
P
P
P
i N
81 N
8 N
ION
I-N8-
I N 8
I N 8
IN 8
IN Q
P-IN-8—
PIN 8
NP 8
N P 8
C—
C
C
N
—N
N
N
N
N
—C—
NC
N C
N C
N
PQ
-P—8-
P
P
P
C—
C
C 8
C8
C
ac-
ac
p a
-fl¬
op
p
p
p
-p—
?
QC
QC
.-8C
L
QC
C
CQ
—CQ—
Figure 4
Gene Basset, Scripps Howard Newspapers
52
CREATIVE COMPUTING
1680 R9 = 3
1 TO GRAPH 8
DIFFERENT SET OF FIVE VARIABLES i>2» OR 3
2500 Hi =
1900 \ TO PRINT
VALUES RATHER
THAN GRAPHS
RSfiDY
Ready
RUNNH
RUNNH
140RLB
POPULATION MODEL 3-
15-77
WORLD POPULATION NOBEL 9-15
-77
G REPRESENTS
S6-P0LLUTI0N
GENERATES— SCALED TO .4E 11
DATE
POP
NR
Cl
CIAF
F REPRESENTS F6-FQQD RATIO— SCALED TO 2
P0LR
6L
OR
CIR
CIRA
L REPR
ESENTS
P2/R3-LIFE EXPECTANCY— SCALED TO 100
HSL
FR
NRFR
BR/P
LIFE EXP
3 REPRESENTS B3/P2-BIRTH
RATE— SCALED TO .1
X REPRESENTS
G3-CR0HDIMG
RATIO— SCALED TO 2
1900
.165E 10
.9E 12
. 4E 9
.2
.555556E-
-1 .611596
.461216
.242424
.161616
0.0
0.2
0.4 0.6 0.8
1.0
.277056
1.03861
1
.318735E-1
36.7659
1300
IG-
-5-X—B-
L-l.F—1.!—.
-1
IG
i X 3
L F i . !
1
1920
.1961i6E 10
.88628E 12
.889143E 9
.21521
;g
! X 2
i L F i
1
.161558
.859049
.548192
.453377
.325238
!G
i X 3
1 L F 1 S
I
.503645
1.10128
.984756
.315628E-1
51.2495
! G
! X B
i L F i !
I
1325
• G-
-;- XB-
-1-LF-i..j—.
-1
1940
.253342E 10
.859044E 12
.171298E 10
.22909
1 G
! BX
S LI 1
I
.314741
1.01171
.708153
.676155
.516334
1 G
B X
1 F Li 1
I
.724319
1.08527
.954494
.297325E-1
61.0276
i G
! B
XI F IL i
1
1 G
; b
XI F 1 L i
s
i960
.328022E 10
.311839E 12
.298576E 10
.253357
1350
i-G-
—— i— 3—
—X.F—l-L.1.
-I
.579815
1.00748
.916902
.910233
.783883
; G
i B
1 X F I L 1
I
.907703
1.00869
.902044
.270773E-1
67.3233
G
: b
1 X F 1 L I
1
I G
: b
i XF 1 L i
1
1980
.41307E 10
.740856E 12
. 466868E 10
.295855
i G
i : b
; ' FX i L 1
1
1.1432
.933059
1.15463
1.13024
1.11463
1375
; -
G—! —3-
— J-F-X—!.L— J.—
— I
1.01631
.937254
.323174
.253664E-1
70.9236
|
G 1 B
1 F X) L 1
s
1
G i B
i F X L 1
I
2000
.502579E 10
.646852E 12
.658197E 10
.321481
I
G ; B
IF i X L 1
1
2.25276
.731284
1.40483
1.30364
1.40341
{
Gl B
IF 1 LX 1
I
1.02345
.966456
.713724
.238568E-1
62.9535
2000
; -
-g-b-
— i— F-2L—X-!-
-1
j
IGB
IF L XI
I
2020
.556544E 10
.544299E 12
.805598E 10
.331894
1
1 B
1 F L i XI
I
3.74293
.606776
1.55563
1.4475
1.60139
j
i 3G
I Fl 1 XI
i
.893431
.940777
.604777
.230056E-1
47.2273
{
i BG
; L I X!
I
2025
; -
-i-B-G—
—;-L-F-1-XI-
- j
2040
.553121E 10
.451767E 12
.358396E 10
.32247?
;
1 2 G
IL F I XI
1
4.90884
.530151
i.54611
1.55191
1.66819
i
1 2 G
L F XI
1
.755169
.951912
.501964
.235889E-1
38.8276
;
i 2 G
Li F 1 XI
1
i
; 2 g
Li F 1 X.i
I
2060
.520575E 10
.377586E 12
.822329E 10
.239763
2050
j -
-J-3—G—
L-i—F-1-X-l-
-I
4.77267
.490381
1.45514
1.57366
1.57844
J
1 B G
L 1 F 1 XI
I
.612091
.963657
.41954
.024964
34.9806
;
1 B G L
IF 1 XI
j
i BG L
IF I XI
1
2080
. 482322E 10
.322821E 12
.728486E 10
.277566
!
! B l
IF i X I
1
3.52549
.452075
1.34821
1.5103?
1.39743
2075
;-
- 1 — B—l
— 1 — F - i — X - 1 -
-i
.471009
.975294
.358689
. 264604E-1
32.60D6
i
! GB L
IF IX I
1
}
1 GB L
IF IX 1
I
2100
.43935E 10
.284492E 12
.610553E 10
.26092?
!
! G 2 L
IF IX 1
I
2.3075
.41795
1.22303
1.38967
1.20868
!
G BL
I F IX 1
I
.355871
.377047
.316103
. 278062E-1
30.4718
2100
;-
- G — B L ~
— 1 — F - IX .— I .
-1
Figure 5
Figure 6
COMPUTERS PLUS
INC.
678 S. Pickett St.
Alexandria, VA 22304
Ask for Bob or Dan.
Northern Virginia's
Newest and Finest
Microcomputer Store
(703) 751-5656
OXFORD WANTS YOU
If you're ambitious, creative, and tired
of the same old stuff, openings are
currently available in development,
support, documentation and sales of
OXFORD 370 DOS/VS and OS/VS
systems software products.
All salaries, compensation, and
benefits top-notch, and based on
ABILITY ONLY.
Call collect 201-288-1515 and ask for
Justin Spring.
BVTE SHDRJ
the affordable computer store
2626 Unton Ave. SYSTEMS
Son Jose, Co.95124 SOFTWARE
(408) 377-4685 SERVICE
JAN/FEB 1978
53
puzzles & problems
Debugging the Raise
New program debuggers are paid $10,000 per year at
Microbug, Inc. Every six months there is a salary review
and good debuggers get a $400 annual raise. Now
management has proposed that the salary review occur
annually, and that good debuggers get an annual increase
of $850. Good for the employees or the company? Why?
DHA
Cubiquiz
Here is a number: 94217. (a) Drop one digit and rearrange
the others to produce a perfect cube, (b) Drop another and
rearrange to give another perfect cube, (d) Do the same
again. Games & Puzzles
-■ *
Perfect Rectangle
The reproduction is of a painting titled “Perfect Rec¬
tangle” by Mary Russell. The underlying idea is mathe¬
matical. A not-quite-square rectangle has been divided
into the minimum number of squares that will fill its
entire area, making it a “perfect” rectangle.
Write a program to determine for any rectangle with
dimension L and W the minimum number of squares
that will fill its area.
CAUTION! This rather innocent problem is not that
easy to solve!
54
CREATIVE COMPUTING
FOR ALL CUSTOMERS EXCEPT CALIF. CALL TOLL FREE 800-421-5809
sassoocoosooooeeooooososeooeosseooooodssooocosososopccoooooooao&oeoeeoocooeosoecsosoo
MICROCOMPUTER
B080A SUPPORT DEVICES CHARACTER
MICROPROCESSOR'*
F-8
Z80
Z80A
CDP1802CD
AM2901
6502
6800
8008-1
8080A
TMS-9900TL
6800 SUPPORT
19.95
25.00
35.00
24 95
22 95
12.95
1995
8.75
15.95
89.95
681 OP
6820P
6828P
6834P
6850P
6852P
4.95
8 00
11.25
1695
9.95
11.95
14.95
17 95
2.70
Z80 SUPPORT DEVICES
3881 12.95
3882 12.95
F 8 SUPPORT DEVICES
3851 14.95
3853 14 95
8212
8214
8216
8224
8228
8238
8251
8253
8255
8257
8259
3.95
995
4 50
4 95
8 75
8.00
12.00
28.00
12.00
25.00
2500
2513 UP
251 3 DOWN
2513 UP (5vl
GENERATORS
6.75
6.75
9.95
2513 DOWNI5vJ 10 95
MCM6571
MCM6571A
MCM6572
MCM6574
MCM6575
10 80
10 80
10.80
14 75
14 75
STATIC RAMS 1-24
25 99
100
21L02
(450) 150
1.40
1.25
21L02
1250) 1.95
1.80
1.50
21 L11
4.25
4.10
3.95
1101A
1.49
1.29
1.10
2101-1
2.95
2 75
2.60
2102
1.25
1.15
1.00
2102 1
1.50
1.30
115
2111-1
4.00
3.50
3.25
2112-1
3.00
2.80
2.69
2114
17.95
16.95
16.50
4200A
12.95
12.50
11.95
5101CE
11.95
11.25
10.25
WAVEFORM GENERATOR
KEYBOARD CHIPS
8038
4.00
AY5-2376
13.95
MC4024
2.50
A Y5-3600
13.95
566
t *
LATE ADDITIONS
TMS 4044 $14.00
TMS 5501 $24.95
FLOPPY OISC CONTROLLER
17718 55.95
1 771 B-Ol 59.95
PROM'S
1702A
2704
2708
2716
3601
5203AQ
5204AQ
6834
6834-1
82S23B
8223B
5.00
15.00
13 00
38.00
4.50
4.00
6.00
16.95
14.95
4.00
2.70
DYNAMIC RAMS
1103
2104
2107A
2107B
21078 4
TMS4050
TMS4060
4096
4116
MMS270
MM5280
MCM6605
UART'S
AY5-1013A
AY5-1014A
TR-1602A
TMS 6011
IM 6402
IM- 6403
1.50
4 50
3.75
4.50
4.00
4.50
4.50
4.50
42.00
5.00
6.00
6.00
5 50
8.95
5.50
6 95
10.80
10.80
JADE VIDEO INTERFACE KIT
FEATURES $89.95
S-100 Bus Compatible
32 or 64 Characters per line
16 lines ,
Graphics (128 x 48 matrix)
Parallel & Compositive video
On board low-power memory
Powerful software included for
cursor, home, EOL, Scroll Graphics/
Character, etc. o _ ,
Upper case lower case & Greek
Bfack-on-white & white -on-black
MOTHER BOARD
* 13 SLOT MOTHER BOARD w/front
panel slot
* S-100 DESIGN
* FULL GROUND PLANE ON ONE SIDE
* RC NETWORK TERMINATION ON
EVERY LINE EXCEPT PWR & GRD
* KLUGE AREA
* STRONG 1/8” THICK DOUBLE SIDED
BOARD
BARE BOARD $35.00 KIT $85.00
PERSCI DISK DRIVE FOR S-100
COMPLETE
Info 2000 S-100 DISK SYSTEM
(includes dual drive, power supply, case,
intelligent controller, adapter, cables, and
disk monitor on EPROM) ^ ggg 00
COMPLETE TDL SOFTWARE ^
PKG. FOR DISK $195.00
REAL TIME CLOCK FOR S-100 BUS
BARE BOARD $30.00 KIT $124.95
MISC.
OTHER COMPONENTS
NH0025CN
NH0026CN
N8T20
N8T26
74367
DM8098
1488
1489
D-3207A
C 3404
P 3408A
P 4201
MM-5320
MM-5369
DM-8130
DM8131
OM-8831
DM8833
DM-8835
SN74LS367
SN74LS368
KIM
1.70
2.50
3.50
245
.90
.90
1.95
1.95
2.00
3.95
5.00
4.95
7.50
1.90
2.90
2.75
2.50
2.50
2.50
.90
.90
KIM-1
6502
6520
6522
6530-002
6530 003
6530-004
6530-005
245.00
12.95.
9.00
9.25
15.95
15.95
15.95
15.95
JADE PARALLEL/SERIAL
INTERFACE KIT
$124.95 KIT
c PORTQ
2 PARALLEL/2 SERIAL
1 CASSETTE
EDGE CONNECTORS
S-100
S-100
Altair Spacing
Imsai Spacing
$4.45
$4.45
THE PROM SETTER
WRITE and READ
EPROM
1702A-2708-2716
5204-6834
• Plugs Directly into your ALTAIR/IMSAI Computer
• Includes Main Module Board and External EPROM
Socket Unit
• The EPROM Socket Unit is connected to the Com¬
puter through a 25 Pin Connector
• Programming is accomplished by the Computer
• |ust Read in the Program to be Wnltpn on the
EPROM into your Processor and let the Computer
do the rest
• Use Socket Unit to Read EPROM s Contents into
vour Computer
• Snfiware included
• Nn External Power Supplies. Your Computer does
it all
• Doubles as an Eight Bit Parallel I/O
• Manual included Delivery Less thnn flt) days
THE PROM SETTER
KIT ASSEMBLED
$210.00 $375.00
some m 120
TERMINAL
A CAPABLE LOW
COST. APPROACH TO
REMOTE VlOEO
DISPLAY TERMINALS.
• Curso< C.vdr.v Key* Slanoaid
• Numeric Key t'*o Standard
• Line end Pa«e Erase Standard
• Addressable Cursor Standard
• Switch Selectable T :an*m>»»ion
bom Tb to 19.200 bp* Standard
• Crnwiunlcition MdUc
HOX FOX Block
• Interlace* Punier Interlace
RS232 E »tension
• RS232C interlace
• Non Glare Bead Out Screen
• Ptoteci Mc-de Standard
• Tab Standard
$975 00
Assembled
Pi ice Includes
• Block Mode
• Lower Case
• 24 Line Option
• and shipping
charge is on us.
8K STATIC RAM BOARD
ASSEMBLED & TESTED
250ns.
450ns.
$1 99l95
$150.00
* WILL WORK WITH NO FRONT PANEL
* FULL DOCUMENTATION
* FULLY BUFFERED
* 5100 DESIGN
* ADEQUATELY BYPASSED
* LOW POWER SCHOTTKY SUPPORT 1C S
250ns.
450ns.
KIT
$169.95
$129.95
BARE BOARD $25 00
W/SCHEMATIC V ,UU
ADAPT YOUR MOTOROLA B8QQ
SYSTEM TO OUR S-100 8K RAM
BOARD. KIT PRICE $12.95
IMSAI/ALTAIR 1
COMPATIBLE
S-100
JADE Z80 „„
-with PROVISIONS for KIT
ONBOARD 2706 and POWER ON JUMP
(2MHZ)
$135.00 EA.
$149.95 EA. (4MHZ)
BARE BOARD $35.00
JADE 8080A KIT
$100.00 KIT
BARE BOARD $35.00
TJ-i
VIDEO INTERFACE
You will want to know about the TV-1 Video
to Televisior Interface Kit.
No need to buy a separate Video Monitor if
you already own a TV set. Just connect the
TV-1 between your system video output and
the TV set antenna terminals - that's all there
is to it - to convert your TV set to a Video
Monitor, and at a much lower cost! PRICE $8 95
Computer Products
5351 WEST 144th STREET
LAWNDALE. CALIFORNIA 90260
(213) 679-3313
RETAIL STORE HOURS M-F 9-7 SAT. 9-5
Discounts available at OEM quantities. Add $1 25
for shipping California residents add 6% sales tax
1978 CATALOG NOW AVAILABLE
puzzles & problems
Bionic Toads
We have been training six bionic toads to do a new trick.
When placed on seven glass tumblers, as shown below,
they change sides so the three black ones are to the left
and the white ones to the right, with the unoccupied
tumbler at the opposite end—#7. They can jump to the
next tumbler (if unoccupied), or over one or two toads to
an unoccupied tumbler. The jumps can be made in either
direction, and a toad may jump over his own or the
opposite color, or both colors. Four successive sample
jumps will make everything plain: 4 to 1,5 to 4,3 to 5,6 to 3.
Can you show how they do it in 10 jumps? Can you write a
program to solve the problem?
A man rarely succeeds at anything unless he
has fun doing it.
Programming Problem . . .
SATURDAY NIGHT
TENNIS SCHEDULE
Given:
6 tennis courts
6 time periods (45 minutes each)
18 couples
Objectives:
• each couple plays together once (1st time period)
• each person plays four times, sits out twice
• each person plays one men’s (women’s) doubles
match once; 3 mixed doubles matches.
• each person should not play with or against the
same person more than twice.
The task:
Develop a schedule that meets the objectives, and also
optimizes each individual’s personal schedule. (Opti¬
mum means no more than two plays back to back)
It’s also nice to have both members of a couple arrive
and leave together — schedules permitting!
The task minus one:
What do you do if one couple doesn’t show up?
Furthermore:
How about a general program for N courts, M time
periods and C couples.
The
Mechanical
Man
Ken Lebeiko
The mechanical man is designed as a beginning
exercise in flowcharting. If you’re learning programming
on your own, try the mechanical man flowchart; even
experienced people will have fun with it. If you’re teaching
flowcharting or programming, follow the steps below and
it will be an exciting experience for both you and your
class.
1. Copy the handout on the facing page, give it to your
class and explain the problem. Keep it simple; state there
is a clear path to the wall. An example may help; simply put
a chair about six feet from the wall in the classroom.
2. Take the first few flowcharts done (make sure they
aren’t perfect) and ask the students to place them on the
board. This will allow the slower students to get a general
idea of what is to be done.
3. Work through the flowcharts without counters first.
Before starting those flowcharts with counters, draw a
counter and put a number in it (87). This is to show the
effect of not clearing a counter in a program. Don’t make a
big thing of this; just say it was left from the last program.
Everyone will see the results later.
4. Now have the student whose flowchart you are
working with become the mechanical man. Use a pointer
and instruct the student, following every detail of his
flowchart. As the student or class see errors, don’t let them
change the flowchart.
Ham it up; play it for all its worth. The class will have a
good time and really learn a lot.
Common things to happen are: people forget to turn
twice and walk off somewhere else, or they forget to turn
before sitting and end on the floor, and lots more—the list
is long.
5. Before the students get tired of the problem, tell them
to work in groups and test each others flowcharts for the
perfect one.
6. Toward the end of class ask who has the “perfect”
flowchart and have him put it on the board.
7. Have a member of that group sit in the chair, but move
the chair right against the wall, leaving only enough room
for the student’s legs.
This is called a special case. Discuss whether or not the
flowchart will still work and what could be changed to
make it work. This case could be used for homework. You
can tell the students to get their families involved by
having a parent become the mechanical man.
8. Another special case is placing the chair one step
from the wall. Give this case as homework too. It
demonstrates that it is very difficult to get an all-purpose
program and that some special cases must be allowed for
separately.
The author would like to invite any teacher with other
ideas for teaching programming or flowcharting to share
them with him (and us at Creative too!). Write Ken Lebeiko,
Lockport Central HS, Lockport, IL 60441.
56
CREATIVE COMPUTING
The Mechanical Man
A mechanical man is sitting on a chair, facing a wall a
short distance away. Draw the flowchart of the procedure
to have the mechanical man walk to the wall and return to
his initial position.
Permissible flowcharting symbols are:
out.
Turn 90° to the right. Stand up.
Sit down.
Take one step.
Set the counter Stop the procedure,
to zero.
Subtract 1 from the Test for touching wall. Arms must
counter. be straight forward to activate the
finger-contact units.
JAN/FEB 1978
57
Part IV, the conclusion of this series, examines ABS, SQR, REM,
GOSUB, and the mysterious DEF FNX.
THE 8-HOUR WONDER
All About BASIC Programming
in One Long Day
(or Eight Short Nights)
Thomas A. Dwyer
2.7 HOUR 7: PROGRAMS TO HELP
MOM AND DAD PASS ARITHMETIC 102
Very few people who have “taken” a
foreign language in schoolarefluent in
its use. Little children from countries
where that language is spoken do a lot
better, and with far less fuss. The same
is true of the “languages” of
mathematics, and science. Achieving
fluency in their use is much easier in
settings where they are spoken
regularly.
Personal computers make it possible
to create such settings in some very
interesting ways. One of the best
involves computer game programs,
and there’s an entire chapter on games
coming up. In this section we’ll help
prepare the way by explaining some of
the techniques used in writing
number-oriented games.
ABS(X) is a function
that “processes” X in a
very simple manner. It
merely changes the
sign of X to +. This is useful when we
want to check how close some INPUT
data supplied by the user comes to
another value (say, the one the
program expects). The ABS (absolute
value) function helps by giving the
“distance” between the two numbers.
For example:
ABS(8 - 5) = 3
ABS(5 - 8) = 3
ABS(5 - 2)= 3
ABS(2 - 5) = 3
As you can see, ABS tells us that in all
of these cases, the distance between
the number is 3. Here’s an example
using this feature: -►
ABS
LIST
3 RANDOMIZE
5 FOR K=1 TO 3
10 LET R = INTC10 * RND(O) + 1)
20 PRINT “PICK A NUMBER FROM l TO
30 INPUT N <■
40 IF R = N THEN 1 1 0
50 PRINT “NO, YOU MISSED BY" }ABS (N - R)
60 PRINT “TRY ONE MORE TIME. NUMBER IS
70 INPUT N
80 IF R = N THEN 1 1 0
90 PRINT "YOU BLEW IT
100 GOTO 120
110 PRINT “RIGHT ! ! ! “
120 NEXT K
130 END
THE NUMBER WAS
RUN
PICK A NUMBER FROM 1 TO 10?
NO, YOU MISSED BY 3
TRY ONE MORE TIME.
RI GHT! ! !
PICK A NUMBER FROM
NO, YOU MISSED BY 7
TRY ONE MORE TIME.
RIGHT! ! !
PICK A NUMBER FROM 1 TO 10?
NO, YOU MISSED BY 2
TRY ONE MORE TIME. NUMBER IS? 8
RI GHT ! ! !
NUMBER IS? 8
TO 10? 1
NUMBER IS? 8
WITH THE5E CHOICES
YOU CAN ALWAYS GET
IT ON THE 2nd CHANCE.
© Copyright 1977 by Thomas A. Dwyer, University
of Pittsburgh, Pittsburgh, PA 15260.
58
CREATIVE COMPUTING
Another use of ABS is for accepting
input that is “close enough” even
though not exactly the number
expected. The art of getting such
“ball-park” estimates is seldom taught
in school, yet it’s a valuable one. Here’s
an example of a program for practicing
this: -►
Notice that we used two kinds of
“error” formulas in this program. The
absolute error E = ABS(A - C) gives
the absolute value of the difference
between the correct answer and the
approximate answer, while the relative
error E/C shows the ratio between this
difference and the correct answer.
Why make this distinction? Well
suppose you were a contractor who
made a bid that missed the true cost by
$1000. How serious is this? It all
depends. If you take two extreme
cases, you’ll see why.
Case 1:
True cost =
Your bid =
Absolute error =
Relative error =
Percent error =
Case 2:
True cost =
Your bid =
Absolute error -
Relative error =
Percent error =
$50,000
$49,000
$ 1,000
1000/50000 = .02
2%
$ 2,500
$ 1,500
$ 1,000
1000/2500 = .4
40%
The absolute error was the same in
both cases. It’s the relative error that
shows which one is a disaster. (Percent
error also shows this, since it is merely
relative error multiplied by 100.)
ABS is also handy in making sure
that an input response is as requested.
Here’s one way this can be done:-
If you want to be more explicit in your
error messages, statement 40 can be
replaced by two tests:
40 IF A <50 THEN 140
45 IF A >100 THEN 142
•
140 PRINT “TOO SMALL!”
141 GO TO 145
142 PRINT “TOO LARGE!”
LIST
3 RANDOMIZE
5 FOR K s 1 TO 10
10 LET H = I NT C40 0 0 * RNDCO) + 1200 )/100
20 LET M = INTO 0 0 0 * RNDCO) + 500/100
30 LET I = INT (30 0 * RNDCO) + 300 )/100
40 LET D = INT (9 * RNDCO) + 1)
50 PRINT "APPROXIMATELY HOW MUCH SHOULD YOU BUDGET"
55 PRINT "FOR A TRIP 0F"jD;"DAYS IF--"
140 PRINT
150 GOTO
160 PRINT
60 PRINT " HOTEL COST PER DAY = £** iH
70 PRINT " MEAL COST PER DAY = *"jM
80 PRINT " INCIDENTALS PER DAY = S";I
90 INPUT A
10 0 LET C=D*CH+M + I)
110 LET E = ABSCA - C)
120 IF E/C <) .10 THEN 160'
130 PRINT "YOU MISSED BY £";E
'YOU WERE OFF BY";(E/C)*100?"*“
i 80
“VERY GOOD. Y.OU WERE OFF BY £";E
170 PRINT "THAT WAS AN ERROR OF ONLY";(E/C)*100j"£"
180 NEXT K
190 END
RUN
APPROXIMATELY HOW MUCH SHOULD YOU BUDGET
FOR A TRIP OF 5 DAYS IF--
HOTEL COST PER DAY = £ 42.84
MEAL COST PER DAY = S 12.81
INCIDENTALS PER DAY = £ 5.25
? 60
YOU MISSED BY £ 244.5
YOU WERE OFF BY 80.2956 X
THIS SHOULD HAVE BEE
DONE MENTALLY USING
43+13+5 = L1 *5 = 305-.
APPROXIMATELY HOW MUCH SHOULD YOU BUDGET
FOR A TRIP OF 3 DAYS IF--
HOTEL COST PER DAY = £ 15.12
MEAL COST PER DAY = £ 7.03
INCIDENTALS PER DAY = £ 4.54
? 76
VERY GOOD. YOU WERE OFF BY £ 4.0 7
THAT WAS AN ERROR OF ONLY 5.08305 X
APPROXIMATELY HOW MUCH SHOULD YOU BUDGET
FOR A TRIP OF 5 DAYS IF--
HOTEL COST PER DAY = £ 50.22
MEAL COST PER DAY = £ 8.35
INCIDENTALS PER DAY = £ 4.23
? 320
VERY GOOD. YOU WERE OFF BY £ 6
THAT WAS AN ERROR OF ONLY 1.91 083 X
APPROXIMATELY HOW MUCH SHOULD YOU BUDGET
FOR A TR"C
LIST
10 PRINT "TYPE A POSITIVE INTEGER BETWEEN 50 AND 100."
20 INPUT A
30 IF I NT C A) <> A THEN 120
40 IF ABS (75 -A) > 25 THEN 140
50 PRINT "YOU HAVE OBEYED A COMPUTER."
60 PRINT "THERE IS NO HOPE."
70 STOP
120 PRINT "THAT'S NOT AN INTEGER."
130 GO TO 10
140 PRINT "OUT OF REQUESTED RANGE."
145 PRINT "READ THE INSTRUCTIONS CAREFULLY."
150 GO TO 10
160 END
RUN
TYPE A POSITIVE INTEGER BETWEEN 50 AND 100.
? 25
OUT OF REQUESTED RANGE.
READ THE INSTRUCTIONS CAREFULLY.
TYPE A POSITIVE INTEGER BETWEEN 50 AND 100.
? 7.5
THAT'S NOT AN INTEGER.
TYPE A POSITIVE INTEGER BETWEEN 50 AND 1 0 GT-.
? 75
YOU HAVE OBEYED A COMPUTER.
THERE IS NO HOPE.
STOP at 1 lne 70
JAN/FEB 1978
59
We’ll finish this section
with a math-game
program that uses the
square-root function
of BASIC. SQR(X) processes the
number X by finding its square root and
“returning” this value in the place
where SQR is used. (The square root of
Xisanumberwhich when multiplied by
itself gives X. This means you must use
positive numbers for X. Otherwise
you’ll get an error message.)
LIST
5 RANDOMIZE
10 LET K = 0
20 PRINT "TO WIN THE GOLD STAR YOU NEED 3 ANSWERS IN A ROW"
25 PRINT "THAT HAVE LESS THAN 5* ERROR."
30 PRINT "-
50 LET R = INT C10 0 *RND CO) ♦ 1)
60 PRINT "WHAT IS THE SQUARE ROOT OF";R
70 INPUT A !
80 LET C = SQR(R)
90 IF ABSCA - C)/C < .05 THEN 130
100 PRINT "NOT TOO CLOSE. SQUARE ROOT OF ";R}"IS";C
105 PRINT "YOU MISSED BY" ;100*ABS(A/C-1)»"*"
106 PRINT
110 LET K = 0
120 GO TO 50
130 PRINT
135 PRINT
136 PRINT
140 LET K = K
150 IF K < 3 THEN 50
160 PRINT "THAT'S 3 IN A ROW!
170 PRINT " PASTE STAR HERE--
175 PRINT "
180 END
'NOT BAD--YOU ONLY MISSED BY" \ 100*ABS(A/C-1 );" £ “
"SQUARE ROOT OF “jR}"IS";C
1
Example:
10 LET X = 25 y\\ the number 25 is supplied
20 PRINT X, SQR (X) to the SQR function.
RUN F~
25 5 The number 5 is “returned.”
Here’s a game program to practice
estimating square roots: - 1 -
Notice that the user had to supply an
answer within” 5% three times in a row
before getting the “gold star.”
For a really fiendish game, make the
5% a variable that gets smaller eacf-|
time. Start with V=.05, and then make
V=.7*V each time around.
IBM stands behind Creative Computing. (Bot)
Taylor of Columbia University Teachers College,
at a recent Paris meeting.)
RUN
TO WIN THE GOLD STAR YOU NEED 3 ANSWERS IN A ROW
THAT HAVE LESS THAN 5* ERROR.
WHAT IS THE SQUARE ROOT OF 78
? 8.11
NOT TOO CLOSE. SQUARE ROOT OF 78 IS 8.83176
YOU MISSED BY 8.17233 X
WHAT IS THE SQUARE ROOT OF 79
? 8.8
NOT BAD--YOU ONLY MISSED BY .992265 X
SQUARE ROOT OF 79 IS 8.88819
WHAT IS THE SQUARE ROOT OF 76
? 8.5
NOT BAD--YOU ONLY MISSED BY 2.49831 X
SQUARE ROOT OF 76 IS 8.7178
WHAT IS THE SQUARE ROOT OF 48
7 6.10
NOT TOO CLOSE. SQUARE ROOT OF 48 IS 6.9282
YOU MISS&D BY 1 1 .9541 X
WHAT IS THE SQUARE ROOT OF 8
? 6.4
NOT TOO CLOSE. SQUARE ROOT OF 8 IS 2.82843
YOU MISSED BY 126.274 X
WHAT IS THE SQUARE ROOT OF 21
? 4.68
NOT BAD--YOU ONLY MISSED BY 2.12597 X
SQUARE ROOT OF 21 IS 4.58258
WHAT IS THE SQUARE ROOT OF 52
? 7.57
NOT BAD--YOU ONLY MISSED BY 4.97701 X
SQUARE ROOT OF 52 IS 7.2111
WHAT IS THE SQUARE ROOT OF 27
? 5.15
NOT BAD--YOU ONLY MISSED BY .888204 X
SQUARE ROOT OF 27 IS 5.19615
THAT'S 3 IN A ROW!
PASTE STAR HERE--
*****
* *
* * * * *
60
CREATIVE COMPUTING
We have been
explaining programs
by drawing “bal¬
loons” on the side,
which contain explanatory remarks.
Remarks can also be placed within a
program by use of the REM statement
which looks like this:
10 REM ANYTHING YOU WANT TO SAY
REM
Remark statements show up only when
you list a program, not during a run.
Here’s an example of how one of our
previous programs might look with
REM statements. It also illustrates a
feature in some BASICS that allow
remarks after the ! or ’ symbol.-►
SELF-TEST
1. Simulate a RUN of this program:
10 FOR K = 1 TO 10
20 LET X = K * K
30 PRINT K, SQR(X)
40 NEXT K
50 END
2. Simulate a RUN of this “pattern”
program:
10 FOR K = 10 TO -10 STEP -1
20 FOR J = 1 TO ABS(K)
30 PRINT “* “ ;
40 NEXT J
50 PRINT
60 NEXT K
70 END
3. Write, debug, and run a program
that asks for an estimate of the total
cost of five items on a supermarket
receipt. First have the computer
print out the simulated receipt.
Generate the dollar cost of each
item with INT(900*RND(O) +
20)/100). Then ask for estimated
total, and compare it with exactsum.
Give different kinds of
congratulatory (or other) messages
that depend on the relative error in
each answer.
2.8 HOUR 8: KEEPING CHECK ON A
BANK BALANCE
In this section we’ll explain two new
features of BASIC (subroutines and
user-defined functions) by showing
how to apply them to the problem of
calculating compound interest. Before
discussing these features, let’s first
review what’s involved in finding
interest that’s “compounded” at
various intervals.
The idea of compounding shows up
in several kinds of problems. For
example, in calculating the population
growth of some species (say, rabbits),
you have to allow for the fact that if new
rabbits come from the original
population, then new, new rabbits
come from both the new rabbits and
the original population, while new,
new, new rabbits come from the new,
LIST
10 REM-PROGRAM FOR CHECKING INPUT-
15 PRINT "TYPE A POSITIVE INTEGER BETWEEN 50 AND 100"
20 INPUT A
25 REM-FIRST SEE IF MAYBE IT'S NOT AN INTEGER-
30 IF I NT(A) <> A THEN 120
35 REM-NOW SEE IF IT'S OUTSIDE RANGE 50 TO 100-
AO IF ABSC75-A) > 25 THEN 140
50 PRINT "YOU HAVE OBEYED A COMPUTER."
60 PRINT "THERE IS NO HOPE."
70 STOP
115 REM-MESSAGE FOR LINE 30 BRANCH- !
120 PRINT "THAT'S NOT AN INTEGER" !
130 GOTO 10 !
135 REM-MESSAGE FOR LINE 35 BRANCH- !
140 PRINT "OUT OF REQUESTED RANGE" !
145 PRINT "READ THE INSTRUCTIONS CAREFULLY" !
150 GOTO 10 !
160 END
THIS IS THE
SECTION OF
THE PROGRAM
THAT PRINTS
MESSAGES
^ c
e> 0 <
« o 0
JAN/FEB 1978
61
new rabbits, new rabbits, and original
rabbits (assuming no deaths), etc., etc.
The same idea holds for compound
interest: it’s calculated on the original
amount (called the principal), and on
the interest on the principal, and on the
interest on the interest on the principal,
etc., etc. How often this re-calculation
gets done is up to the bank. For
example, they may do it four times a
year (which is called quarterly
compounding), or even 365 times a
year (called daily compounding).
There are two methods for calculating
compound interest: (1) use a loop, and
(2) use an exponential formula. Let’s
look at the loop method first.
Here’s a loop for finding 5% interest
compounded quarterly on a principal
of $1000, with a total time in the bank of
1 year.
5 LET N = 1000
10 FOR K = 1 TO 4
20 LET N = N + (.05/4) * N
30 NEXT K
40 PRINT “INTEREST IS”; N - 1000
The new balance at the end of each
quarter (3 months) is calculated in line
20 as follows.
Interest
N = N + ',(.05/4), * N 1
A fnterest rate T
\ for 1/4 year /
New balance] [Current balance
Each time around the FOR...NEXT
loop is like another 3 months. At the
end of 4 loops, N contains the year-end
balance, so N - 1000 gives the
compound interest that accumulated
in a year.
To do this same calculation for daily
compounding, the loop would have to
go FOR K = 1 TO 365, whilethe interest
added each day would be at the rate of
(.05/365).
This image isn’t as silly as it may
seem. To see why, let’s first look at a
“program” written by a VIP which only
outlines the work to be done.
10 Get data on husband’s bank
account.
•
50 Get my assistant down on level
1000 to figure out and print
husband’s interest and balance.
•
65 Get data on wife’s bank account.
•
90 Ask the same assistant to figure
out wife’s interest and balance,
and print it.
100 Lock up office and go play golf.
The small program we
just explained can be
used as part of a larger
(or “main”) program.
The small program can be called a
“subprogram”, or a “subroutine.”
The advantage to building a
main program partially from
subroutines is that it helps organize
your thinking. The approach to take is
to think of yourself as a VIP (very
important programmer). You start by
pretending that you don’t have to worry
about details because you can call on
assistants for help. To make the idea
even more dramatic, you can picture
your executive office on the top floor,
while the assistants work at lower
levels called subroutines. When you
need help from an assistant (say at
level 1000) you shout “GOSUB 1000”.
When the assistant at this location is
finished, he yells “RETURN”.
GOSUB
If written in BASIC, such a program
would partially look like the following.
MAIN PROGRAM
SUBROUTINE
62
CREATIVE
What the statement GOSUB 1000
really means is “go and do the
subroutine that starts at line 1000 and
then return to the line right after the
GOSUB statement that was just
executed.” To see how this all goes
together, look at the following
complete program: . ^
All the hard work is done in the
subroutine from lines 1000 to 1050.
When the main program reaches line
50, it “goes to” line 1000, where it
continues execution. In our example, it
does line 1005, followed by 365 times
around the FOR... NEXT loop in 1010 to
1030, followed by 1040, followed by
1045 and 1050. Line 1050 therv says
RETURN. (Subroutines must always
end with a RETURN statement.) Return
means go back to the line right after the
GOSUB. In our example, that’s line 65.
So 65 is executed right after 1050. The
second time the subroutine is called is
at line 90. Again, all the hard work is
done in the subroutine (at no extra cost
in programming!), but this time the
RETURN is to line 100.
;
LIST
10 PRINT "ENTER INTEREST RATE"
20 INPUT R
30 PRINT "ENTER BALANCE FOR HUSBAND'S ACCOUNT";
40 INPUT B
50 GOSUB 1 0 00 -
65 PRINT
70 PRINT “ENTER BALANCE FOR WIFE'S ACCOUNT";
80 INPUT B
90 GOSUB 1 0 00 -
100 STOP
1000 REM SUBROUTINE FOR COMPOUNDING INTEREST DAILY OVER 365 DAYS
10 05 LET N*B
1010 FOR D*1 TO 365
1020 LET N=N+ (R/365)*N
1030 NEXT D
1040 LET I*N-B
1045 PRINT "YEAR'S INTEREST*”;IJ“NEW BALANCE*
1050 RETURN
106(1 END
’ ;n
RUN
ENTER INTEREST RATE? .0 525
ENTER BALANCE FOR HUSBAND'S ACCOUNT? 1000
YEAR'S INTEREST* 53.8986 NEW BALANCE* 1053.9
ENTER BALANCE FOR WIFE'S ACCOUNT? 1500
YEAR'S INTEREST* 80.8479 NEW BALANCE* 1580.85
STOP at line 100
Details, Details
Now that we see the big picture, we
can concentrate on explaining how this
particular subroutine works. What it
does is to start the new balance out as
N = B, calculate the interest for one day
as (.0525/365)*N f and then get the
revised new balance as N = N +
(.0525/365)*N. This process is
repeated 365 times in a loop. When the
loop is finished, the interest earned for
a year will be the final new balance
minus the starting balance; that is, I = N
- B. Now that we have N and I, we can
return to line 65, where the program
continues. When the program gets to
line 90, this whole process is repeated,
but this time B contains the wife’s
balance, so a completely different
calculation is done. In other words,
subroutines in BASIC use the current
value that variables have in the main
program.
Question: Could this program have
been written as easily using GOTO
instead of GOSUB? No, because there
would be no way to return to different
line numbers the way RETURN does.
Question: Can subroutines
sometimes be inefficient? The answer
is yes, but after everything is working,
you can swap your VIP hat for your STP
hat (super terrific programmer), and
clean things up a bit. For example, the
subroutine we have shown does the
division (R/365) seven hundred and
thirty times! This inefficiency can be
removed by adding the statement
25 LET F = R/365
and using F instead of R/365 inside the
subroutine.
DEF FNX
As just seen, subroutines are small
programs, usually involving several
lines. Sometimes a “subjob” can be
handled by a single LET statement, and
using a subroutine is hardly worth the
effort. In this case, there’s another
feature called DEFining a function that
can be used instead of GOSUB. We’ll
illustrate its use with the second
method for calculating compound in¬
terest.
If you dig through some math books,
you’ll find the following formula for
getting the new balance on an account
with compound interest.
N = P * (1 + R/M) f (M* T)
In this formula,
P is the starting principal in dollars,
R is the annual interest rate,
M is the number of times interest is
compounded each year, and
T is the number of years left in the
bank.
For example, for $3000 left for three
years in a bank with 5% interest
compounded monthly,
P = 3000
R = .05
M = 12
T = 3
So the new amount at the end of three
years,
N = 3000 * (1 + .05/12) f (12 *3). The
“up arrow” means raise to that power
(exponentiate), so this is a difficult
calculation. It’s time for a computer!
JAN/FEB 1978
63
Our programming approach will be
to place this formula in a special
statement that allows the formula to be
called upon as often as we wish. The
way to “store” a formula like this in a
BASIC program is to use the define
function statement as follows:
be used anywhere that an expression
can be used. Here’s a program that
uses our function twice, once in a LET
statement, once in a PRINT statement.
We called our function FNN. We could
just as well have used names like FNA,
FNB, FNC, ..., FNZ. -1
As shown in lines 50 and 80, when FNN
is used (or “called”), it must be given
arguments. Notice that these
arguments can be replaced with
constants, variables, or even
10 DEF FNN(P,R,M,T)=P*C1+R/M)~CM*T>
20 PRINT “YOU HAVE SI 000 IN A BANK THAT GIVES -
25 PRINT “5X INTEREST, COMPOUNDED DAILY.“
30 PRINT “HOW MANY YEARS DO YOU WISH TO LEAVE IT - ;
40 INPUT T
50 LET N-FNNC1000, .05, 365, T)
60 LET I*N-10&0
70 PRINT - YOU - LL RECEIVE S - JI; - INTEREST AND HAVE A BALANCE OF S";N
80 PRINT - FOR - ;2*T;“YEARS, BALANCE WOULD = - JFNN(1000,.05,365,2*T)
100 END
expressions.
RUN
ON...GOSUB
This statement is similar to the
ON...GOTO statement. It directs the
program to go to different subroutines,
depending on the value of the variable
(or expression) right after the keyword
ON
YOU HAVE $ 1 000 IN A BANK THAT GIVES
5X INTEREST, COMPOUNDED DAILY.
HOW MANY YEARS DO YOU WISH TO LEAVE IT? 3
YOU'LL RECEIVE S 161.822 INTEREST AND HAVE A BALANCE OF S 1161.82
FOR 6 YEARS, BALANCE WOULD = 1349.83
•
10 ON K GOSUB 1000, 1500, 2000
20 PRINT
•
•
means “if K + 1, go to subroutine 1000, return to line 20”,
“if K + 2, go to subroutine 1500, return to line 20”,
“if K = 3, go to subroutine 2000, return to line 20”.
It’s up to the programmer to make sure
that K takes on only values that match
the number of subroutines. If, for
example, K became 4 in our example,
standard BASIC would treat this as an
error (some earlier versions treated this
as a “default” and continued execution
at the next line—line 20 in our
example). For an example of
ON...GOSUB, see SELF-TEST
Question 3.
SELF-TEST
1. Simulate running this program:
10 PRINT “TYPE AN INTEGER FROM 1 TO 5”
20 INPUT I
30 IF I NT (I) I THEN 10
40 IF ABS(I~3) 2 THEN 10
50 PRINT “HOW DO
55 LET N = |
60 GOSUB 500
100 PRINT
110 PRINT “OR IS IT ALREADY POSSIBLE ”;
120 LET N = 2 * I
130 GOSUB 500
140 STOP
500 FOR K = 1 TO N
510 PRINT “YOU KNOW
520 NEXT K
530 RETURN
540 END
2. Simulate running this program:
10 DEF FNA(R) = 3.1416 * R * R
20 FOR K = 1 TO 5
30 PRINT “FOR A RADIUS OF”; 10 K
40 PRINT “THE AREA OF A CIRCLE IS”; FNA(10 K)
50 NEXT K
60 END
64
CREATIVE COMPUTING
3. Write and run this program
10 FOR K = 1 to 10
20 PRINT “MAY
30 LET X = INT(4 * RND(O) + 1)
40 ON X GOSUB 100, 200, 300, 400
50 PRINT “SING TO
60 LET Y = INT(4 * RND(0) + 1)
70 ON Y GOSUB TOO, 200, 300, 400
75 PRINT
80 NEXT K
90 STOP
100 PRINT “AN IMPORTED SALAMI
110 RETURN
200 PRINT “YOUR FAITHFUL DOG
210 RETURN
300 PRINT “AN ENRAGED CAMEL
310 RETURN
400 PRINT “THE EASTER BUNNY ”
410 RETURN
500 END
Another simplification is to treat all
months as having 30 days, which
means assuming 360 days for one year
(some banking systems do this).
Sub-project: How can a bank advertise
that 5% interest compounded daily
amounts to an annual interest rate of
5.47%?
2. Write an arithmetic practice
program that uses four subroutines:
one for addition problems, one for
subtraction, one for multiplication, one
for division. The RND function and
ON...GOSUB should then be used to
select the kind of problem (addition,
subtraction, multiplication, ordivision)
to be presented. Also try to use the
method of SELF-TEST Question 3 to
produce different kinds of messages
for wrong answers, and other kinds of
messages for correct answers. Here’s
what a RUN might look like:
4. Write a program that compares the
“loop” method with the “formula”
method for getting compound
interest. Show the results at the end
of each year. A RUN should look like
this:
ADDITION QUESTION: 5 + 6 = 711
RIGHT! YOUR REWARD WILL BE RICHES AND RIPE BANANAS.
SUBTRACTION QUESTION: 33 - 23= ? 16
WRONG—ANSWER IS 10
KEEP THIS UP AND YOU’LL FIND CHICKEN LIVERS IN YOUR SOCK
DIVISION QUESTION: ... etc. ...
PRINCIPAL? 1000 -
INTEREST RATE? .05
# OF TIMES COMPOUNDED PER YEAR? 365
# OF YEARS? 25
STARTING YEAR? 1976
THANK YOU
LOOP METHOD FORMULA METHOD
YEAR
BALANCE
INTEREST
BALANCE
INTEREST
1976
1000
0
1000
0
1977
1051.27
51.2745
1051.27
51.2663
1978
1105.16
53.9032
1105.16
53.8945
1979
1161.82
56.6667
1161.82
56.6574
2001
3490.05
170.223
3489.94
170.191
Our program ignored leap years. If
you’re really ambitious, see if you can
take leap years into account. The
output of this program will vary slightly
on different computers due to what are
called “rounding” errors. The only way
around this problem is to use a BASIC
with double-precision arithmetic.
2.9 PROJECT IDEAS
1. Write a program that allows the
user to enter the date of deposit, the
amount deposited, the annual interest
rate, the number of times compounded
per year, and the date of withdrawal.
The program should then print the new
balance and the interest accumulated.
A date like Nov. 18,1976 can be entered
as:
DATE DEP? 11, 18, 76
You can ignore leap years if you wish.
JAN/FEB 1 978
65
"... We'd like to put two bucks on Happy Daddy'
running in the seventh today ...”
3. It’s legal to have one subroutine
call another subroutine In BASIC. The
program below illustrates this feature.
Study and run the program, and then
write it without using GOSUB at all.
Your program should produce the
same output as shown in our example.
4. Find a program written in an
extended version of BASIC, and
translate it into a version that runs on
your system. The idea is to become
familiar with the possibilities of
extended BASIC so you can get a feel
for those features you want to insist on
when buying your next software
package. It would also be a good idea
to keep a notebook on the special
features of your BASIC.
LIST
5 RANDOMIZE
10 PRINT “PLAYER #1 TYPE RANGE (0 TO 50)"j
20 INPUT P
30 LET R * 50 * RNDC0 )
40 LET D1 » ABSCP - R>
50 GOSUB 10 00
60 PRINT “PLAYER #2 TYPE RANGE (0 TO 50)“j
70 INPUT P
80 LET R = 50 * RNDC0)
90 LET D2 = ABSCP-R)
100 GOSUB 1000
110 IF D1 = D2 THEN 170
120 IF D1 < D2 THEN 150
130 PRINT “PLAYER #2 WINS"
140 GOTO 180
150 PRINT “PLAYER #1 VINS“
160 GOTO 180
170 PRINT “ TIE SCORE’
180 GOTO 9999
1000 REM-TARGET DISPLAY ROUTINE-
1010 GOSUB 2000
1020 LET X = P
1025 PRINT “SHELL"$
1030 GOSUB 3000
1040 GOSUB 2000
1050 LET X a r
1055 PRINT "U-BOAT“ J
1060 GOSUB 3000
1070 GOSUB 2000
1080 PRINT
1090 RETURN
20 0 0 REM-LINE ROUTINE-
2010 FOR K s 1 TO 60
2020 PRINT
20 30 NEXT K
2040 PRINT
2050 RETURN
300 0 REM-SHELL ROUTINE-
3010 PRINT TAB C X+8)j"<*>"
3020 RETURN
9999 END
SOLUTION. We’ll show a sample
solution to this project as a guide to
what’s involved. Our solution will also
help you to read programs written in
BASIC-PLUS or EXTENDED BASIC.
You’ll see that most of the extensions
can easily be translated into minimal
standard BASIC, butatthecost of extra
statements.
Our example will first show a Russian
Roulette game program written in
extended BASIC. Then we’ll illustrate
how each of the extended statements
can be replaced by several simpler
statements. -—
To illustrate how this extended
BASIC program can be translated into
minimal standard BASIC, we’ll show
the two versions side by side. As you’ll
note, most extended statements must
be translated into several standard
statements.
The numbers in circles on our
diagram refer to the following six
explanatory notes.
Notes on the Translation from
Extended BASIC to Minimal BASIC
1. Many extended BASIC’s allow
several statements on the same line
RUN
PLAYER #1 TYPE RANGE (0 TO 50)7 35
SHELL
<*>
U-BOAT
<*>
PLAYER #2
TYPE RANGE (0 TO 50)? 10
SHELL
<*>
U-BOAT
<*>
PLAYER #1 WINS
LIST
10 RANDOMIZE
20 PRINT “RUSSIAN ROULETTE* l PRINT “-“
30 PRINT “TYPE 1 TO SPIN CHAMBER, 0 TO QUIT"
35 N-0
40 INPUT “YOUR CHOICE IS’jC
6Q IF C-l THEN PRINT "LOTSALUCK" ELSE PRINT "CHICKEN": GOTO 140
70 IF RND(0)>.85 THEN 100 ELSE N=N+l
80 IF N>« 1 0 THEN 120 ELSE PRINT “--CLICK—"
90 PRINT I GOTO 40
100 PRINT " BANGUI YOU'RE DEAD": PRINT "SORRY ABOUT THAT"
110 PRINTlPRINT "NEXT VICTIM PLEASE"tPRINT:GOTO 30
120 PRINT "YOU DID ITII 10 MISSES! — YOU WIN"
125 PRINT “YEAI ." | FOR K=1 TO 50
130 STOP
140 PRINT “ GET SOMEONE ELSE WHO ISN'T SO SMART": PRINT:GOTO 30
150 END
66
CREATIVE COMPUTING
provided they are separated by colons.
To translate, you merely write a
separate line for each part. This is what
we did with line 20. Other examples are
shown in lines 90, 100, 110, 125, and
140.
LIST
10 RANDOMIZE>
20 PRINT "RUSSIAN ROULETTE": PRINT
30 PRINT "TYPE 1 TO SPIN CHAMBER, 0
35 N=0 >—
INPUT "YOUR CHOICE IS";C>
IF C = 1 THEN PRINT "LOTSALUCK'
ELSE PRINT
70 IF RND ( 0 ) > .85 THEN 100 ELSE N=N + 1>-
80 IF N > = 1 0 THEN 120 ELSE PRINT " - -CLICK--">-
90 PRINT : GOTO 4 0 >-
100 PRINT “ BANG!!! YOU'RE DEAD": PRINT "SORRY ABOUT THAT">—
110 PRI NT : PR INT “NEXT VICTIM PLEASE" : PR I NT : GOTO 30 >“
120 PRINT "YOU DID IT!! 10 MISSES! — YOU WIN“>-
125 FOR K= 1 TO 10: PRINT "YEA! ";: NEXT K: PRINT>—
130 STOP >-
140 PRINT "GET SOMEONE ELSE WHO ISN'T SO SMART": PRINT: GOTO 30>
150 EimD>-
RANDOMIZE
PRINT "RUSSIAN ROULETTE"
PRINT w -"
PRINT "TYPE 1 TO SPIN CHAMBER, 0 TO QUIT"
35 LET N = 0
PRINT "YOUR CHOICE IS";
INPUT C
IF C = 1 THEN 63
PRINT "CHICKEN"
62 GOTO 140
63 PRINT “LOTSALUCK"
IF RND (0 ) > #85 THEN 100
LET N = N+1
IF N> = 10 THEN 120
PRINT “--CLICK--"
90 PRINT
91 GOTO 4 0
100 PRINT "BANG!! YOU'RE DEAD"
101 PRINT "SORRY ABOUT THAT"
110 PRINT
111 PRINT "NEXT VICTIM PLEASE"
112 PRINT
113 GOTO 30
120 PRINT "YOU DID IT!! 10 MISSES! -- YOU WIN"
125 FOR K = 1 TO 1 0
126 PRINT "YEA! "5
127 NEXT K
128 PRINT
130 STOP
140 PRINT"G£T SOMEONE tLSE WHu IS.m'T il* SaART"
142 PRINT
143 GOTO 30
150 END
LIST
RUSSIAN ROULETTE
TYPE 1 TO SPIN CHAMBER, 0 TO QUIT
YOUR CHOICE IS? 1
LOTSALUCK
BANG!!! YOU'RE DEAD
SORRY ABOUT THAT
NEXT VICTIM PLEASE
TYPE 1 TO SPIN CHAMBER, 0 TO QUIT
YOUR CHOICE IS? 1
LOTSALUCK
—CLICK--
YOUR CHOICE IS? 1
LOTSALUCK
—CLICK--
YOUR CHOICE IS? I
LOTSALUCK
—CLICK—
YOUR CHOICE IS? 1
LOTSALUCK
—CLICK—
YOUR CHOICE IS? 1
LOTSALUCK
—CLICK—
YOUR CHOICE IS? 1
LOTSALUCK
—CLICK—
YOUR CHOICE IS? 1
LOTSALUCK
—CLICK—
YOUR CHOICE IS? 1
LOTSALUCK
—CLICK—
YOUR CHOICE IS? 1
LOTSALUCK
—CLICK—
YOUR CHOICE IS? 1
LOTSALUCK
YOU DID IT!! 10 MISSES! — YOU WIN
YEA! YEA! YEA! YEA! YEA! YEA! YEA! YEA I YEA! YEA!
STOP at 1lne 130
2. Line 35 shows that many extended
BASIC’s allow you to omit the word
LET.
3. Line 40 shows how a message can
be placed within an extended INPUT
statement. This translates into a PRINT
followed by an INPUT, with the PRINT
terminated by a semi-colon.
4. Line 60 shows how the THEN in an
IF...THEN statement can be followed
by another statement rather than a line
number. The translation can be a bit
tricky as shown, since ELSE is also
used.
5. If.. .THEN.. .ELSE means if true, go
to the statement after THEN, if false, go
to the statement after ELSE.
Other features of extended BASIC will
be introduced as they become useful.
Techniques for translating them into
minimal BASIC will also be shown.
WARNING: When you’re finished with
a translation make sure that all your
“GOTO” and “IF...THEN” statements
branch to the correct line numbers.
You may have to make some changes.
Here’s a sample RUN of the
ROULETTE program to show how it
should work if you’ve done the
translation properly. Of course runs
will differ with different RND
generators (and RANDOMIZE
routines).
EOF
This ends the four-part excerpt from
Chapter 2 of a new book, “BASIC and
the Personal Computer,” by Thomas A.
Dwyer, to be published early this year
by Addison-Wesley, Co., Reading,
Mass. 01867. ■
JAN/FEB 1978
67
?mm<m
i„; ’ ~y 'ly*' '■ <<
many years without making any con¬
scious effort to retain it. Long-term
memory is used when we recall our own
telephone number, recognize the
meanings of words, or remember
someone's face.
A technique pioneered at Bell Labs is
providing a new way to study both long¬
term and short-term memory. Instead of
employing traditional methods of
measuring the number and pattern of
errors people make under controlled
conditions, the new technique
measures how long it takes a person to
remember selected kinds and amounts
of information correctly. One in¬
teresting aspect of the findings of
reaction-time experiments is that what
actually happens in a person's mind
when he remembers something may be
very different from what he thinks is
happening. Not only are people un¬
aware of some of their mental activities,
but they may actually be mistaken about
others. This means that to determine
the brain's capabilities and limitations,
precise measurements must be taken.
For example, in one of the first
experiments Bell scientists performed
on short-term memory, it was found
that mental recognition is a more
exhaustive process than any of the
people being tested believed. When
electronic apparatus was used to
measure how long it took people to
decide whether a particular test digit
was among those presented in a short
memorized list of digits, most people
were surprised to discover that they
searched the entire list for the test digit
rather than stopping as soon as they
found it. When reaction times from the
experiment were studied, it was dis¬
covered that each digit in the memoriz¬
ed list required about 40 milliseconds to
recall, but people showed exactly the
same reaction time whether the test
digit was in the middle of the list, at the
end, or not included in the list at all.
Furthermore, the test concluded that an
exhaustive search is actually more
efficient than a deliberately self¬
terminating one; when people were
presented with different experimental
In all human communication, infor¬
mation is transmitted from one person's
memory to another. From the ancient
days of Greece when philosophers drew
on their own conscious experiences of
mental activities in order to understand
just how the mind operates, up until
modern times when scientists use
electronic tools to explore memory
processes, man has wanted to know
more about how messages are coded,
preserved, and retrieved by the brain.
And as more ways are developed for
transmitting information, the study of
human memory becomes increasingly
important.
Experimental psychologists have in¬
vestigated two different types of human
memory, one like the temporary
"scratch-pad" buffers of digital com¬
puters, and the other like their more
permanent "bulk-storage" devices.
Human short-term memory can hold
between five and ten pieces of informa¬
tion. Unless a person repeats it to
himself, the information is typically
forgotten in less than a minute. This
temporary storage system is used when
we look up and dial a new telephone
number or when we recall what
someone said a moment ago.
In contrast, the capacity of long-term
memory is tremendous. It normally
contains records of enormous numbers
of facts and experiences. Employing this
essentially permanent storage system,
a person can preserve information for
tasks that made it important to stop
searching as soon as the test digit was
found, the search became much slower.
Reaction-time experiments were also
used in the study of long-term memory
processes. In this area, concentration
centered on words rather than
numbers: on how common words are
organized in memory, and how informa¬
tion about words is retrieved during
such activities as reading and listening.
One set of findings indicates that words
are arranged systematically rather than
haphazardly in long-term memory.
Evidence that the brain stores words in
the same way that a thesaurus does is
supported by the fact that a person can
decide that a row of letters like DOCTOR
is a word considerably faster when it
follows a related word like NURSE than
when it follows an unrelated word like
BREAD. The increase in speed is
greatest when the word follows a
related word immediately, instead of
after a delay; the reaction time is then
shorter by as much as 50 to 100
milliseconds. It was also found that
people can pronounce a printed word
faster when it is related in meaning to
an immediately preceding word than
when it is unrelated.
While experiments have shown that
short-term memory seems to work very
much like a digital computer, the
computer analogy does not fully carry
over to long-term memory processes.
For example, people were sometimes
presented with a sequence of three
words like NURSE-SMOKE-DOCTOR, in
which two related words were
separated by an intervening unrelated
word. Despite the separation, people
still recognized the third word more
quickly than when the first word was
unrelated to it, as in a sequence like
BREAD-SMOKE-DOCTOR. This would
not have happened with a magnetic-
tape computer which proceeds its
search from the point at which it has
just stopped. Scientists believe that
reaction timing shows that retrieving a
word from long-term memory tem¬
porarily increases neural activity at the
locations of their "nearby" related
words in the memory structure. This
"spreading activation" reduces the
amount of additional activity needed to
recognize a related word, and therefore
speeds the reaction.
It is not too surprising that short-term
and long-term memory processes
operate in essentially different ways,
because if a person had to go through a
list of the thousands of words he is
familiar with every time he spoke a
sentence, it might take several minutes
even if his memory worked at peak
efficiency! But further experiments
have shown that short-term and long¬
term memory search processes are
stimulated in separate ways. While a
short-term search may proceed only
after the brain has mentally coded the
stimulus into a highly refined, abstract
representation (possibly the name of a
test digit), long-term memory processes
can proceed as soon as a person has a
visual image of the stimulus.
Like the results of other basic
research, findings about short-term and
long-term memory can potentially be
used in many ways. Results from
memory research may suggest ways to
improve communication by increasing a
person's rate of proceesing information,
or by reducing errors. Naturally the Bell
researchers first related their findings
to ways to make the telephone more
efficient: they wish to assign frequently-
called telephones numbers that can be
remembered most easily, and make the
job of a telephone operator minimally
difficult. But recent discoveries about
human memory have begun to in¬
fluence research far removed from the
topics originally investigated. Scientists
are using reaction time experiments to
study child development aging, the
effects of acceleration in space and with
hallucinogenic drugs, and the nature of
aphasia, schizophrenia, and mental
retardation. Reaction-time methods are
being employed to attack a growing
variety of other questions about mental
processes, both fundamental and
applied. During the past decade, the
percentage of psychological studies
involving reaction time measurements
has nearly tripled.
For more information, see "Exploring
the Speed of Mental Processes" by Max
Mathews, David Meyer, and Saul
Sternberg, Bell Laboratories Record[
Vol. 53, No. 3, March 1975.
Mind-
Reading
Computer
In a recent French science fiction
movie. Fantastic Planet , learning was
accomplished by putting on aheadband
that fed information directly into the
brain. Today, a California neurophysio¬
logist and psychologist is on his way
toward making this imaginary device a
reality.
For the past two years, Dr. Lawrence
Pinneo of the Stanford Research
Institute has been working with eight
subjects to develop a means to record
and store human thoughts in a
computer. He calls this sytem, which
would result in a closer coupling
between man and machine, biocyber-
netic communication.
In Dr. Pinneo's experiments, electro-
encephalographic signals from a
subject's brain are recorded when the
subject speaks or thinks a specific word,
and a computer stores the signals
associated with that word. The nexttime
the subject speaks or thinks the word,
the computer sorts through its vocabu¬
lary, picks out the correct pattern, and
responds by ordering a remote-control
camera to perform the appropriate
action.
Results from Pinneo's experiments
have proven significantly successful.
The fact that some words do have a
higher percentage of correct classifica¬
tion than others has led him to believe
that 100 percent effectiveness can be
achieved as the process continues to be
refined.
Doing that involves learning what is
actually happening in the brain when
someone speaks or thinks a word.
Semantic components of words are
being studied to see how much of a
word's meaning isconveyed by its sound
and howmuch istheresultof someother
unspecified process. As his studies
progress, Pinneo has become convinced
that there is a way to trap the essential
semantic context of words and program
them. If this can be done, the
communication between man and
machine could work in both directions. A
computer which could store information
in electrophysiological signals could
also convey information via those
signals to the human brain, and
Fantastic Planet's teaching headband
would be only one of the uses of
biocybernetic communication.
In the future, thoughts transformed by
computers into mechanical directions
would make it possible for astronauts,
aquanauts, orforthat matter,even land-
bound drivers of futuristic automobiles
to maneuver their vehicles simply by
thinking into a computer-linked engine.
Artists could create by conjuring up
images, in their minds, of the finished
products. Even distant planets with
hostile environments could be explored
by using a two-way biocybernetic link,
giving man the illusion of direct
experience and the advantage of
immediate, rather than pre-programmed
thought.
The possibilities of biocybernetic
communication are extraordinary and
even frightening. Man's search for
communion with others, even if in some
cases the other may be a machine, is, as
in all quests, both a hunt for something
and an escape from something. Using
Piinneo's mind-computer link, we may
finally succeed in completely knowing
each other and our environment, but we
also may risk losing our private selves.
The
Computer
Meets
the Doctor
Artificial Intelligence (Al) in medicine is
perhaps one of the most disputed and
exaggerated territories in computer
research today. The computer as a
consultant appears to be an almost
certain fixture in the medical diagnosis
of tomorrow, but neither experts nor
laymen can seem to agree on just how
far doctors can and should go in their
reliance upon the judgement of a
machine.
The term Al refers to computerized
information processing tasks that have
previously been assigned to the human
brain, approaching the thin, hazy line
between programming and learning,
rote memory and intelligence. Charac¬
terized by a complex reasoning structure
composed of informational and invest¬
igative models, high-level computer
languages and computational methods
which are primarily symbolic (non¬
numeric) in nature, the Al computer is
capable of multiple modes of logic, data
interpretation, therapy selection, prog¬
nostication, decision-making, and in
some cases, self-improvement.
MYCIN, an Al program developed by
Dr. Edward Shortliffe and others, is one
of the electronic physicians that might
soon find its way into many hospitals. The
MYCIN system is designed to advise
physicians about antibiotic therapy for
patients with infectious diseases,
especially before complete information
about the organism which caused the
disease becomes available. Although
written in advanced computer dialect,
MYCIN provides the doctor with an
Explanation System that understands
English questions, and can retrace its
own reasoning pattern in order to make
its human colleague aware of how the
decision was made. New information
can also be added to the MYCIN system
through its Rule Acquisition System, so
that a two-way communication between
man and machine is always possible.
Numerous other Al projects designed
for diagnosis and therapy are being
tested in hospitals and clinics right now
Professor Casimir A. Kulikowski and Dr.
Aran Safir are now experimenting with a
project that would enable a computerto
"examine" and treat a patient (a marvel
forecast in Michael Crichton's The
Andromeda Strain); they have already
developed a computer model that
analyzes and prescribes for patients
with severe cases of glaucoma. Perhaps
the most spectacular Al system now in
use, however, is a computer alarm
system which screens prescriptions at
Latter Day Saints Hospital Pharmacy in
Salt Lake City. The Drug Warning
System evaluates a complete, auto¬
mated file of a patient's history, labdata,
previous drug therapy and disease state
via a sophisticated Al logic system in
order to assess the probability of
circumstances under which a doctor's
prescribed drug might become dan¬
gerous. The same Al system has also
been used to take detailed medical
histories and diagnose over 20,000
patients.
In the area of pure research, artificial
intelligence is now being used to
generate probable "candidate” molecu¬
lar structures from mass spectrometry
data. X-ray protein crystallography and
organic synthesis. Computers that
function like the brain are also being
developed to help medical students
learn to deal with psychological
dysfunctions.
Perhaps, though, the biggestfrontiers
of Al are ethical in nature. Some Al
proponents feel that if doctors look upon
the computer as a tool, it will help
eliminate many repetitive tasks and
allow them to function more efficiently.
Other experts doubt the validity of the
term "artificial inteligence," and say
that a way has not yet been found to
make a computer capable of general
problem solving and learning. Most
experts do agree on one thing though. If
the day ever comes when an artificial
intelligence program has the capacity of
acquiring new knowledge, the question
of moral and legal responsibility for a
computer's action will inevitably come
to the fore.
Tidewater’s
Police
Network
TENPIN (Tidewater Electronic Network
of Police Information) is a telecommuni¬
cations network designed to give police
officers instant access to information
from local and national computerized
crime data files. What makes the TENPIN
system unique is that it is one of the few
regional groupings of independent
municipalities (as opposed to a grouping
under a country or metropolitan
authority) that is improving law-
enforcement effectiveness by pooling
information about criminals in their
respective jurisdictions through com¬
puter storage and retrieval.
There are 1,500 police officers in the
greater Tidewater area of southern
Virginia. The City of Norfolk's Data
Processing Division developed TENPIN
to help them protect the 1 V 2 million
people who live within its 1 500 square
miles.
TENPIN terminals are located at police
headquarters in 10 cities and towns as
well as at the U.S. Army's Fort Eustace
and the FBI's Norfolk office. From
anywhere in the TENPIN area a police
officer can radio in a request for
information to a terminal and receive a
reply within a minute. TENPIN files are
accessed through Norfolk's IBM 370/
145, using 3270and 2740terminalsfor
input and retrieval. These units in turn
tie police into the National Criminal
Investigation Commission (NCIC) com¬
puter and the FBI's file of wanted felons
in Washington, D C. In addition, the
system links each TENPIN member to
Virginia's Criminal Information Network
(VCIN), a computer that connects them
to the State Division of Motor Vehicles,
the state police, other Virginia police
departments, and the National Law
Enforcement Teletype system (NLETS).
Via the latter, each can send or receive a
message to or from virtually any police
department.
TENPIN includes six files, the main
one being the warrant file of about
20,000 wanted persons. Other files are:
a surveillance file, a probation/parole
file, an alias fie, and a list of stolen
aritcles provided by the NCIC. The most
recent addition to TENPIN's files is a
fingerprint file which employs FAST
(Fingerprint Access and Searching
Technique), a computerized method of
recording and searching fingerprints
developed especially for the TENPIN
network.
Last year a total of 4,096 warrants
were served between cities through the
TENPIN system. Policeofficersareproud
of the statistic, and admitthattheyowea
lot to TENPIN. Criminals pay no attention
to municipal boundaries, and law-
enforcement agencies cannot affort to
let those boundaries limit their effec¬
tiveness. As evidenced by TENPIN, atool
as efficient as the computer can help
police to leap the boundaries far faster
than the criminals can.
For more information, see "Tide¬
water's Police Network,” Data Proces¬
sor, March 1975. (IBM, DP Division,
White Plains, NY 10604.) ■
*****
***
*****
*****
*****
*****
***
3&
^ •
11
0000 \X*XX*>C
< 5 i«j«ixoo%%oox:
caK5/5jXco%»cox
SS8S&S
X 00%%00
x\wo\
p
i
* ^5
* +
+ ++ + + +-•+3
+ + +-+*~7
+ +<& + -•'•-•+00
<^i -» ,» ,« .«■• . «■ .«• .
--+-
4---4C5J44
--4^4'--
- - 44SJ44
4-.4«'4-4
4-
4-
4'-
4 4
4-
4-
<»J4-'■"'•4
4-.- 4
-•4-4-4
4 4-*-*4--4
4-4CJ4--444
+ -.4- 4--*40»j4
-4-4 4
•-■•+
- *4 4 4CU44 4-
-•4 0SJ<5*5JC^- -
44444<5l- -•-
44-4-*4-
-4 4-4-
-+ +-•+--
--4 4--
-- 4<5j4-.-
4---.4--.4*4--
- 4<3j44 -
---
-44--4 4 44
4 4- 4--
--
4<»J4-
4 4'-
4-
4-
4 —
4 —
4-
4444'
4 - •- •- •-
-.-.444
-. 4 . 4 .-.-
4QAi' •'
4444'
4 . 4--*4 4 4
---4
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
(A
Q
H
0
ft
0
111
I
h
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*****
--
•—*%T*4 45^5
4% 43*
•'•%4444.\'
-4-4 42 “
'••4442
9j9f9/Sj9i ++++++++ •♦
■5/5^5)<5*5j<5)<5j®<Sj<5^SJ<5J®J<HJ+* + ++* 33 = 2 * 2 **
**********
**********
■SKSjSXSj'SJ'Sj+ + + + + + ♦+ + ++ = + + =
+ + + + + + + + +* = 822222 ** 22 * 2 *
* 222323223223232333 * 2*32
<5j+=
9)
9>
9)
9)
<£1 + <5>
* <sj+
+«J + e>+
« + * + +
= + + + *
= + + *2
= * < 5 j =
«J= + + + +* <5j
3 3 * 25 = -f < 5 j
<*J+ = = + «J
S = %
* * ®ll
2 S QS
5 S * 5111
2 * * *M
■sj *»2 am 11
u oooooooooocoooam II
ays*fc%%oooooooo 1111
co%**sja>oooooooooo* 11 n
am^cooocooooocooo* * 1111
a>omcoax 5 *m %*2 2 = 11 *
oocooooo<s*sm 2*3 **=
00000000 % *►* 2 *x 3 =
000000 %%** * 2
co 000000 %** eittKwsj®
cococo<irt*m <5K5J*l<5l' X x
OOCDOOOOOO** < 5 l®K 5 r' x x \ x
OOOOOOQO%«»% < 5 |X x <s>\ \ \ \
+%%ooooooa<s«>x x s v n\
2 * %oo*oooo**<sj**%%%%% <s«r- x s+ih
* +%%cooocooo*oo*ooe>ooco%% «j«sjx qx x 11 x
2 +<sj 00 cocoa/* *cooo 9 j 9 j 9 t - x \ s \
(* = = * = »* +®J OOOOCO%%00 <5j 0*5/0/0)01
«j* + + + += ®/ **<sjoo ®j
s = Oj+OjO>= 2
**
* *
* *
**
3 Ml
33fc
531
**->
* *-i
**
**
33K
331
331-
33W
**
**
**
* *
* * * *
* *
O **
X **
•-« a:**
^q**
^o*-i* *
o-uio**
--«-j* *
vwCOi.**
i— -- * *
^OOUj* *
Uj*- -J* *
s:o -j**
•-KCQc*-i* *
-jc*uji-**
cl k- 3**
SlCr^O**
OEA.IXI* *
o<cs:^**
- 00 **
.JOCC**
-J *^**
^ **
3 **
* *
■* *
+ <Si
*«l
9i
+ +
S>
9)
9)
9)
9)
+ 2
+*
+ *
<5J +
<SJ*
9t
Ullj Mfl p
OOHCllOO 2 *
004*<SKO00 —2 * *
oo*MaKaioxo<aicci 2 *=2
ooom<5<ooocooo= *2
ooam«Koa 3 <fta>flo 2 *
am«Ko<ooo ^ 000 *
ajooa>oocoayx.oc »2
* *2
**2
3 *
2 2
11
11 11
11 11 11
11 * n 11
11 * 1111 11 %
11 11 1111 n
11 11 *2 *******
II H* 2 **3 2 3 2 J
2222 || 222232
**3 ||:3 2 > 22 :
22 || 22222 **
2 2 2 2 || || *2 2 »
222222222
X COOO* 2 2 2 3 ODCCK
x ocKDQoa>a>oooc>a>c(y
x coawajajoocooooa*
x ODoooooocoaxaajay.
x ockxkooocococooococ
= = * = COOOOOCOCOC
2 2 *2 2 2 2 2 00 *
2 2 3 *2 2 *2 2 >
2 *2 22223 **!
- * ***2 3*32
2222222323
* *= * * II
= = *S %l| II
2 2 2 2 2 % ||
3 3 2 2 %2
*%2 3 *2
* = CD= *
= = CO* *
= s 00*
2 * 00 *
= = 00 *
= 2 **
2 2
**********
72
N**
+ +
+ + + +
+ + + + +
%%%*%^i^;^t + + + + + + +
******%»%*«:**.\^^.V+ + J'SsS'{?'Si'i
+ + +%%%%%%%%+-•+ + + J^f«jM+ + + + + +3
+ + +ivj+ ++ ++ + + + -.+ ?*+ + + + +•'>
->%%**• + + +Jxj++ + ++-• ^i?^^^+ + +co
-■-•J^~-+-.+ +JvJ+---- +
+--—---—--.-.+ +M %%%M+
%-■ + + -•+---
JSJ-.+-+?*•+ + + +-•-■'.*:%-•+ +
-.-•+ + + + + + + +-•-•+ + +
%%}*-•%--
-.- Jvj--------
---- - - -
%%-4k^-%+---- - -
*Mk-+ -•**%**- —
- .%+--a****- .*iM- ••» ■-
- --•-
^vSs;^-%+-.+ -- •-
-+ ++ + +>
+!>*-•-•-:st-+-
+ + + + + +
++++++ ++
-•++ + +
+++ ++++
+ + +^+ +?•£+ + + + +
+ + +^+
+ + JvtssS^:^+ + + + ++
_ . ++ .\+W{+++
J^«+ + + ++^:+
—+ + +**% + +
*••-•++ + %%*+M+ +
-•-•+ + +^f^ + ^4-
+ + !vt- •— •
+ + +J-«+ + + + + + + +J'i-~.
%+ + +>{+ ++^ + + + + +
+ + ^++^ +
++ M +
■+'*■■'* ■ + *f a******* + + + + 3^5>{2 w ^J''53>flJs5«sj2s53>j5s5 JsjSsj*^ + +
:— •%+—+ + + + + + +-•+ + + +%+ + + + +
:S<--+--++J^++%%%%%-•+ah+ + + +js{+ + ♦+a*a* + + + + +J\S^{M:\tS'i+
:5v5—-- - + ^+ +%%%%%-+ + + + + + +%
:>>!“•%“•+-•+ + +-•+ + +-<-+ + + +%+ + +^+ + +• +Ss; + + + +
I---++**M;' v <vt\>W{ aaa*
---+-.-%%%%•> .*■.«.+ +%-.+ + + + + + +
—atatatat -+ + + + + + + + + + + + + + +>>:+ +
+- - --++J\t+ + + + + + + + +?*+ + ++ + +
—•-•%% —++^: + + + + + + + ++^+ + + +?^mn;+ + + + + + + + + + + +
-4-.--4--.-f
•-—-4- —•
4-4-
oo
0)
OQ
u
Li-
z
<
o
z
I-
D
Q.
2
0
u
LU
>
I-
<
LU
q:
u
**
* **
= * ***
* S *****
= » * = %%***
aaaaaa** **
a * = II II x a a * * *
a a l| a a a a %***%* a a
a a a a a a a %% l| a a %a a
a a a ||x a a %a a l| l| a a a
i a a a a
a a a a
a a a a
a a || a
II =
%%%%%% || It || || ||
= *HH* II II II II II
II * * * * * II II II II
II II * II II * * II II II
II II % II a || || * || l| ||
a %* l| a l| l| * l| l|
= * * * II II H II II
a a %* II HUH II II
a a l| * II H II II H
a a i, %H II II
a II II II II II
a a || HU II
s * H IMI H H
a * II HHH
* II II H HH«J
OoHHSjHH
0CtHH<5jH
OoHSlOO
_OOOOOOOD
COQOCOOO
CO coco
cocooo
cococo
oococo
ii hh + + + + + + +<sj<3j<3j<sj<5>sj<sj<sj<s><sj<ajcvsj'3j'3j'3j<ai
HH II HH ****** + <Hl<5J<Sl<aj<SJ«><5J<aj<SjSl<S><S>ej«J<Sj<5J<&
hhhhh m uHH* + ***ej*<a»«j<aKa«KSi<s«i<5»ej«i<aK5j<Si»a/sx5j
HHHII II II H+ *H+ + * +-----
HHII II II II IIH*+H+ + **
H HH II II II II II II H++%+ + + +
HHHU II II II II II II II II II *H****
<*%Oo «j
%=*%
ii ii h* * + *+<ai+<sj<si<aie«>«>«i««»«;e>«Kai«Kaj
n*+ ++++®-— ---
++++++
+ + + + + +_
+++++++i.
+ + ++<s;+ + + i___
++++ jgjg+ j §SS§S§§!§{§§!§!§!§5t
+ + + + +<5>Ol+ + Ca/^^C5iC5XEl<SjCSi<Hie><&<Sr-^
+ + +<5i+ + +<5i+ H-—-
+ + +<5J+ + +<5l+H -
+ + +<SJ+ + +«l+ + i______
+ + +C5/5J+ +<2i+ + +a«j<5i«»<siaj<5i«><ajei<5i<ai^i
+ + +<si<Si++«i<a»+ +«KSi<5i«><srtiei<s>««i«iei<i:^
+ + +<s*ai+ + + + + +oye»<Si<5i«i®i<aitt»Q«><Si<ai
+ + +<5KSi+ + + + + <5K^«i<ai®««J<SiW5>eiiai<£»Ci'~j
+ + +<SK5i+ + + + + ws«i«uaHB«i<aiwa«i«i<aiuj
+ +<B>5J+ + + + + <SiW5i®5i®i<5i<Si<S><Si®J<SlQj*-Ci
+ + + + + + + + <^CH/V^<V&<VSj<5jC5><V2i , Sj'5iCCCt:
+ + + + + + +«i<swai«i«>«^ai<ai(s«iei«i<i>Ci
+ + + + + +
+ + + + +++
+ * + + + ++5i5««i5i«i?«i5i5i5i5i5i5i5i5i
++++++
+ + + + + ~
+ + + ~
a a a a a a a a a || a a || %a a a <
* *H* * » = HHH= aa || a a a ||aaaa
a a a a H« * «JHH= a a l| a a II II a a a a
s s a a a a HHH% : a ||aaa || a a a a a
II = a a a a HH%- l| a II a a II *a a a a a
s II II II * a HttHi 2 2 II* l| II* ** * * * * a
a a a a a a *%H= * II * * II a a a *a * * If l| II
100* * a a a *Q)Qja a a a a a a *a a *a || llll II
.000000* a a *H<Si* * * * l|* » *a a a II l| II II II
.OOOOOOOOOOOOHHH* * II II = *a a a a + H II II II II
ICOCOOOOOOOOOHHH* IIa *a a *a a a ++HII II II II
>000000000000* «>0«l*2 **a a a a ++ + +HII II II _
> 00000000 = * * <%%<&* II II II II II + + + + + + + * II * * * Q 0 C 000 «J<a^ 2 * 2*2
a a a a a a a <»j<5^5>= * a a a a +. + + + + +* a = = = 000000<S|00* * * II II II II II II
a a a a * * *a HH+HH* aaaaaaaaa l| l| l| OOOOOOQlOO* * ©HHHHH II II II II
**a a a a a a l| II HH* II II II II M II II * HQOOO&QMO ********** * UK _____
* * ****** II II 11= * II II %%% II 11000000000000********0000000000000000000000000000 + + <Si + +
a a a a a a a l|ll>* *%H* * OOCOCoOOH OoCOOO *%»%%* *= OOOOOOOOOOOOOOCOOOOOOOOOOOOOOOOOOOOO + + + + + <ai<ai<W5XSi<aj<aj©>«i<ai<5«l<5i«i5i«J
II* a ***OOOOOOOOOOHOOOOOO****** II liaaaaaaaaaaaa COOOOOOOOOCOCOCOCO + + + + (Hi<S/^C5jCHi©i<5j©J®J l 5/Sj'Si'SJ , 5/Sj
a a *COOOOOOOOOHHOOOOHHHHHHS aaa naaaaxaaaaaaaaa * * * * +CQCO + + + 5i<&<S>(ai5i©i'5^©i<5iClKSj©i'5i<S/Sl
a a OOOOOOOOHHOOOOHHHHHHS aaaaaa II a a a r a a || || || a a a ||*aaaa * * * + +
a II a a OOCOHOOOOOOH* * a ®KS»* aaaaaaaaiillliliaaaaaaaaaaaaaaaaaa (5 j'5j<5J<S/5J'S>'5j©/5j + + <S/Si'iK5j , SX5j
* * II* 0OCOHCO2 ** a a a «j«jr II II l| l| II II l| l| a a a a a a a a a a a a a a || || || a a a a a a <5j<5K*jCHjC5*5j<5XSj + + <5/5J'il<5jOS/5J
___ a || = 0000002 = a *-* * a <Sj3j= aaaaaa s a asaaasaaaaaaaaaaa || aaaaaa: <5/5 j1i<5j +<Si + +
C5iOKS«J<SK*iCSl<aj a 1100==== = H* s l| <5/«l= = II II II l| II II II = * ******** *a **a a a = II = == = = = == H+ + + + + +<5><5i<5j'HjO»>
<4l'Sj<lK»|(5><iHHyV l Sj<5J 002**2* * *a = = II C!*SJ= ||||aaaaaaaa*a*aa*a ||= ****** a || l|! » s a s a a a H + + + + +<SJ'3i'5/H/2i
©Jllll' x \ \ \ ++00002 aaa*aaaa* l| <5X*J= = = * II II HIMI ******** **a aaa****a a II = = = = == = = + + + + +<5J<5;<3i<**Sj
<SJ<SJ\ ®r\ \ \ \ \ \ HOOOOOO* II a a a a a a l| QlQl* * II l| aaaaaaaaa* ***= = || aaaaaa **aaa*aaaa=a H+ + + +<5j(Si'S>^<2i
\ II \ x \ COHOOOO* aaaaaa* * || (5iO«J= a || aaa ************ || a aa a a ***= a H= **==*= + + + +«><!iCj<5*£l
«jx x x *-.x II x + x OOOOHOOOO* * II II = * * II UQlQlH II l| II *** IMI II II II II II * a a ||= a a a c a a a a **= H* * * * = = H+ + + +<5j'5i'5^5l , 5j
<5j<5Jx ®f x x x + + + + + HH * = II 11= = II IMSKUII II * * II II II II II II * * * * II II = * II * * II II a * a a * *a s H* a a a a H+ + + +<Si«*5jfi*5i
<3J<BJ<SJX xxx + + <*j a * l| = a *= *|| <3 j<Sj 00 II II II II II II II II ** * * a * a a a a l| a a a a || * a a a *a a H* * = * + + + + +<5j<5j<S^V5j
- -- a * l| *= a l| l| *OOOOHU II II II %%%= *a*a*a*aa = l| l| II II = ||**aaaaaa=a H + + + + +<SJ<5X8><5*5J
a a H* * = II HII = HOOOOH%%***%QOOOQOOOCOOO* aaaaaaaaa l| = a a a l|= = = %+++ + + +.<*XSJQJQ^3J
a a HHHH***%OOOOC04M*4Mfc4Mfc%%OOOOOOOOOOOoOO* ***** || aaaaaaaaa H + + + + + + +®><8J'3KSfl5j
a a <SJ II II * *H* * OOOOHHHHHHH^HOOOOCOOOCOOOOOHHHH aaaaaa* l| HH + + + + + + +<5J SJ<5J<3J<3J
a = H + HH* **0000 11 II %HH5»%=H»H:OOOOOOOOOOOOOOOOHHH a a a a a || H+ + + + + ++SJ«JSJ<S«J
** = = == * *0000 II II II OQCOCOCOCOOOOOOOOOHH a l| = = II l| + + + + + + +<SjSjSj<3jS>
a a a a OOCO II II II l| II =%%%%** = COOOOOOOOOOOOOOOOOHH * II * = II II + + + + + + <5J<SJ<3J<5JSJ
0000 || II II II *%*:%%%* a a OOOOOOOOOOOOOOOOOOOO * H* = II+++ + + +<3j<SKSKSJSJ
% 0000 II II II II IIH%%*fca * a * * COOOOoHOOOOCOOOOj aaa || || + + <5J»5 j'3J<SJ , 3J'3j<SJ i 3j
%%OOHOO II II II II %%<*%= a ** **OOHOOOOCO<COOOCOOO * a ‘Ml + + <3 j<Sj<5jC5j i 3J<Sj<3j3J
%00004Mk% a || || || || 4 fc *%2 a * * * * *OOHOOCDCOOOOOCOOOOO <5 j<5J<5j<5/5j<5j<5j'3JSj
= a || || || %«c%%a a * * l| ll II COHHCOOOCOCOCOCOCO C5 j<Hj<5J‘3jOj'3j<5j<5J<5j
aaa l| II || H ll «* a a * || a || || OOCOHCOCOCOHCOCOCO <3j<3j<3j<aj<5j<3j<SJ3j
* * « * a II s **• * II II IICOHCOCOCOHHCOCO rajni^r^^jrojroj
a a a a 11= = %:*%= = = *==* = l| l| ll CQ COCO OOCO HC0 r -0 SjSjSjSjS^Sj
a || ||a a a %*%%%* ***= a a a || OjOOCoCoHHCGOO -SjSjSjCSJSj
= == = = = %*%%%* a * * a a a = OOOOCOOOHCOCO SjSjS/Sj
a a a a a %**%%%* a ***** COCOHHCO <5J ( 3J<5X2J
a a a a a a *a %%%%= = a ** OoCOCOOOCOSJ'SjSjSJSJ
% %%% %%%
%% %%
%%%%% % %%
%%%%% %% -
%%% %%%%%
%% %%%% %%%%
%% %%«► H %%% %4>%
%% %%% %% %% %%%%
%%
%%%%%%%%%%
%%%%%%%%% %%
%%
a»% %
%% %«
%% %% 4 |
%% %%%%
%%% %%%%
%%%% %%%%
%%%% %%%%
%%%% %
%%
%%%
*%%%
%%%
% %%
%%% %%
%%%%%
73
How Was I
Yesterday?
Yesterday was a disaster; an intellec-
RUN
tual, physical, and emotional blight! 1
changed the password of my time¬
sharing account to a fruit that 1 cannot
77/07/11♦ 13«10*34*
PROGRAM BASBIO
recall. 1 struck out (not once, but twice)
FNTFR NAMF
in a slow-pitch softball game. 1 cried
? JD ROBERTSON
during a Daffy Duck cartoon on TV.
FNTFR BIRTH BATE
How could this happen? Why me? The
10*9*1943 MEANS OCT 9* 1943
explanation is as close as my latest
'? 10 9 1943
computer-generated biorhythmic
ENTER MONTH AND YEAR FOR
B10 R H Y T H MIC C A L E N D A R
calendar. My bio index was a paltry
4*1977 MEANS APR 1977
927!
9 8 * 1977
The theory of biorhythms, which has
Bin
AUG
been around since the late 1800’s,
INDEX
1977
speculates that each person is guided
* * ♦ *
♦0♦♦♦♦♦♦♦♦♦♦♦♦♦
♦ * ♦
♦ ♦ ♦ ♦ *f
by three cycles that begin at birth. The
69380
p
♦ E
I
1
M
intellectual, physical, and emotional
76836
P E
I
?
TU
cycles are each sine curves with
83274
* P
E
I
3
W
amplitude one and periods of 33, 23,
88107
* P
IE
4
TH
and 28 days, respectively.
91022
♦
I
E
5
F
Biorhythms are open to a plethora of
91764
♦ I
P E
6
SA
interpretations. That statement,
90201
♦ I
EP
7
SLJ
coupled with the simple-minded struc¬
86337
♦ I
E P
8
M
ture of the periodic functions represen¬
80316
♦ I
E
P
9
TU
ting the three cycles, places bio¬
72421
I
* E
P
.10
W
rhythms on a par with astrology.
63052 I
♦ E P
11
TH
However, using biorhythms as a pos¬
52710 I
♦ E P
12
F
teriori corroboration of events is a
41966 I
E P
13
SA
pleasant diversion. To facilitate this
31425 I
EP
♦
14
SU
biorhythmic hindsight, a calendar with
21694 I EP
*
15
M
graphs of the three cycles and a nu¬
13340 I PE
♦
.16
TU
meric bio index is useful. Interpreta¬
6857 I E
♦
17
W
tion of a day with bio index i can be
2632 IPE
*
18
TH
made according to the continuum:
927 PI
♦
19
F
1 < i < 99999
1855 E I
♦
20
SA
l_1
5377 EP I
♦
21
SU
1
BLEAK BRIGHT
11302 E PI-
*
22
M
19299 E IP
♦
23
TU
Below are interactions with BASBIO
28917 E I
P
*
24
W
and APLBIO, programs that generate
39613 E
I
P
25
TH
biorhythmic calendars.
50786
E
I P
26
F
It is apparent from these biorhythmic
61812
E I P
27
SA
calendars that yesterday, August 19,
72081
* E I
P
28
SU
found my intellectual, physical, and
81037
* E I
P
29
M
emotional cycles simultaneously low,
88208
♦ E
I
P
30
TU
yielding the inferior bio index of 927.
93231
♦
I
P
31
W
My yesterday was indeed grim.
♦ ♦ ♦ ♦
♦0♦♦♦♦♦♦♦♦♦♦*♦*
♦ * ♦
♦ ♦ ♦ ♦ -f
Generate a biorhythmic calendar for
JD
♦
ROBERTSON
yourself and see if your yesterday was
gloomy or great.
SRU 2*060 UNTS ♦
‘Dept, of Quantitative and Information Science.
Western Illinois Univer.. Macomb. !L 61455
RUN COMPLETE ♦
74
CREATIVE COMPUTING
or
Biorhythmic
Hindsight
J.D. Robertson*
LIST
77/08/16. 15«34 * 3.1. *
PROGRAM BASETO
00 . 1.00
00 UO
00120
00130
00140
00150
00160
00170
00180
00190
00200
00210
00220
00230
00240
00250
00260
00270
00280
00290
00300
00310
00320
00330
00340
00350
00360
00370
00380
00390
00400
00410
00420
00430
00440
00450
00460
00470
DIM Pt(23 5 vP2(23 > f E1 ( 28)y E2(28) r 11(33)r12<33)
DIM W*<7) ?!...$( 41 ) ? M$(12 >
DATA SU?M t TU-WyTHy F ySA
DATA JAN y FEB r MAR * APR r MAY y JIJN y JUL y AUG y SEP y OCT r NOU ,
FOR N«1 TO 23
P2 (M) -SIN (6 ♦ 283185307# (N ••• 1 > /23)
PI(N)-INT(21;5+20#P2(N)>
NEXT N
FOR N-l TO 28
E2<N> -SI N( 6♦283185307#(N~1>/28>
E1(N>«INT(21♦5+20#E2 (N) )
NEXT N
FOR N-l TO 33
12 (N > =S IN < 4 * 283185307# (N- 1) /33)
11 ( N)*INT(2145+20#12 <N)>
NEXT N
FOR N-l TO 7
READ !4il»(N)
NEXT N
FOR N-1. TO 12
READ M$(N)
NEXT N
FOR N-l TO 41
!...$ < N) - " "
NEXT N
PRINT "ENTER
DEC
INPUT
PRINT
PRINT
INPUT
PRINT
PRINT
INPUT
GOSUB
M-M4
Y ~Y4
GOSUB
NAME "
m
"ENTER BIRTH DATE"
"10*9*1943 MEANS OCT
M y D y Y
"ENTER MONTH AND YEAR FOR
"4y1977 MEANS APR 1977"
M 4 y Y 4
01350
00980
1943 "
BIORHYTHMIC CALENDAR 1
JAN/FEB 1978
75
00480 SI.™ J
00490 GOSLJB 01350
00500 LI.-31
00510 IF M4=12.THEN 00570
00520 GOSUB OHIO
00530 S3-N3
00540 M=M4H
00550 GOSUB OHIO
00560 L1=N3-S3
00570 B«J--S.1+1
00580 E-B+L1-1
00590 PRINT " BIO"y TAB(56)5 m (M4 >
00600 PRINT " INDEX*yTAB(54)yY
00610 PRINT TAB(9) 9 "~ *.♦.**♦♦♦>♦♦♦♦♦0■5
006 20 P RIN F $ +»»»«» « ♦ ■» $ * *■»**♦*«.«■■{" H
00630 U~ : 0
00640 FOR I=B TO E
00650 VaV+1
00660 J3 :: =I -“ 1
00670 K1=INT(J3/23)
00680 K2=J3- (K1 *23) +1
00690 K3=INT(J3/28)
00700 K4=J3-(K3#28)f1
00710 K5~INT(J3/33)
00720 K6=J3-(K5*33)+1
00730 P=P1(K2)
00740 G=E1(K4)
00750 R=I1(K6)
00760 0=P2(K2)+E2(K4)+12(K6)
00770 0=1NT (16666#(0+3))+1
00780 L*(21)****
00790 L$(P)="P■
00800 L$(Q) = * E *
00810 L*(R)=*I*
00820 PRINT 0?TAB(10)y
00830 FOR N«1 TO 41
00840 PRINT TAB( 7 ) y L$(N)y
00850 NEXT N
00860 PRINT TAB(54) y 05 TAB (58) y UJ$ (N2)
00870 L*(P)=* "
00880 L*(Q)«" "
00890 L*(R)»* "
00900 N2=N2+1
00910 IF N2<8 THEN 00930
00920 N2=l
00930 NEXT I
00940 PRINT TAB(9)?"--♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦0*?
00950 PRINT
00960 PRINT TAB(23)yN$
00970 STOP
00980 IF M<3 THEN 01020
00990 Ml=M-2
01000 Yi=Y
01010 GO TO 01040
01020 H1=M+10
01030 Yl-Y-l
01040 C-INT(Yl/100)
01050 D1~Y1~(C$100)
01060 N4-INT((13*M1-1)/5)+D+D1+INT(Dl/4)
01070 N=N4+INT(C/4)-2*C+77
01080 N1-«INT (N/7)
01090 N2=N-(N1*7)H
01100 RETURN
OHIO Y2-INT( Y/4)
01120 Y3=Y~(Y2*4)
01130 IF Y3=0 THEN 01150
01140 GG TO 01250
01150 Y2=INT(Y/100)
01160 Y3=Y- (Y2*100)
01170 IF Y3~0 THEN 01190
01180 GO TO 01230
01190 Y2=INT(Y/400)
01200 Y3=Y~(Y2*400)
76
CREATIVE COMPUTING
01210 IF Y3~<> THEN 01230
01220 GO TO 01250
01230 Ll=l
01240 GO TO 01260
01250 L1=0
01260 Nl-INT((3055#(M+2)>/100)~91
01270 L-O
01280 IF M<3 THEN 01330
01290 IF Ll-0 THEN 01320
01300 L»1
01310 GO TO 01330
01320 L~2
01330 N3=N1+D-L
01340 RETURN
01350 IF M<3 THEN 01390
01360 M1~M~3
01370 Y1=Y
01380 GO TO 01410
01390 M.t=M+9
01400 Y1=Y-1
01410 C«INT(Yl/100)
01420 D1«Y1—(C#100)
01430 N : ~ I NT ( < 146097 YC) /4 X+D+1 NT ( (1461 *D 1) /4)
01440 J=N+ 1721119+ INT ( (153*M 1 +2) /5)
01450 RETURN
01460 END
READY 4
AELblO
hui'bh A lAtoh
«J U RObbRTSON
bUl'ER blhTa DATE
10 9 1943 hbANb OCT 9, 1943
D:
10 9 1943
ENTbh hON'Ia AND TEAR TOR bIORti.IT tikIC CALENDAR
4 1977 ktANS ADR 1977
Lj :
8 1977
blO AUG
Index
. 0 .
1977
69380
E
E
I
01
M
76886
E
E
I
02
TU
83274
E
E
I
03
V
88107
E
IE
04
Tti
91022
I
E
05
E
91764
I
E E
06
SA
90201
I
EE
07
SU
86337
I
E E
08
M
80316
I
E
E
09
TU
72421
I
E
E
10
W
63052
I
E E
11
Tti
52710
I
E E
12
F
41966
I
E
E
13
SA
31425
I
EE
14
SU
21694
I
EE
15
M
13340
I
EE
16
TU
06857
I
E
17
W
02632
Lee
18
Tti
00927
El
19
F'
01655
E I
20
SA
05377
EE
I
21
SU
11302
E
El
22
M
19299
E
IE
23
TU
28917
E
I E
24
W
39613
E I
E
25
Tti
50786
E
I
E
26
F
61812
E
I E
27
SA
72081
•
E I
E
28
SU
81037
.
E I
E
29
M
88208
.
E
I
E
30
TU
93231
.
I
E
31
. 0 .+
JD RObERTSON
JAN/FEB 1978
77
SiAtLblOl U3V
VAt'LbIO;M;N;L;V;k i tfii';&;I;0;SiLIHE
[ 1 ] 'ENTER NAME'
[2] N+Oj
[3] 'ENTER bIRTti DATE'
[ 4 ] ? 10 9 1943 MEANS OCT 9 , 1943’
[5] to *L
[6] 'Enter MONTa and YEAR for BIORtiYTHMIC CALENDAR'
L7] '4 1977 MEANS AtR 1977'
[ 8 ] N+Li
[9] L«-31
[10] -+5AI5X \A[1]=12
[11] L+UDAY U[l] + 1) >l,Nt2])-IDAY Kl],l.A[2]
[12] 5Ali':5+- KIJLN A[l] t l,A[2])-I</LA M
[13] /+- 1+5+ iL
[14] ^10UG2)x23llO*23
L 15] 5*«- 1C ( ^02) x28 I V) *28
[16] J*-10UC2)x33 k)i33
[17] 1 biO'i 49p f (12 3
p ' J AnFE bNsARAFRMAY JUNjU LAU GSEFOOT N0\DEC ' )[A[l];]
[18] ' INDEX. 1 , (47p ' ') , ' 0123456789»[1+10 10 10 10TA[2]]
[19] ' - 1 ,(20p » . ’ ) , ’0 ' , (20p » . * ) , ' + •
[ 20 ] A *-1
[21] OulFUT:LINE+ 41p* '
[22] 0+\ 16666x3+5[A]+5[A]+I[A]
[23] LlNEl 21>'.'
[24] LINE [21+LO . 5+20xF[A]]+-
[25] LI A5 [ 21+ L 0.5 + 20x5 [A] ]«- * A '
[26] LINE [21+LO.5+20xJ[A]> 'I'
[27] » »,( '0123456789 1 [1+l5p10)TO]), 1 '.LINE,' ',
( ’0123456789 f [1 + 10 IOTA]), 1 *,,(7 2p 'SUM TUN TtiF SA')l'l+IZLR Nil
j » a , /V [ 2] ; ]
[28] +OUTtUT* iL£A«-A + l
[29] ’ - ' ,(20p ' . r ) , f 0 1 , (20p 1 . ' ) , ' + '
[30] ((31-1 0.5 x pN ) p * »)
V
VI ZLR [Lj] V
S/R+-IZLR N;M;C;D;Y
[1] Af«-((A[l]<3) »(A[1]£3)) / (A[l] + 10) * A [ 1 ] - 2
[ 2] I«-a[3]-A[1]<3
[3] OLlilOO
[4] D+100\Y
[5] A«-L (“l + 13xA?) * 5
[6] A<-A+iV[2]+L+L (5 + 4)+ [ (C*4) -2x(7
[7] A*<-7 I R
V
\IJLNl U]V
SlR+IJLN N;M\C\D\Y
LI] M+- ((A[l]<3) • (A[l]£3))/ (A[l] + 9) , A [ 1 ] - 3
[2] I«-A[3]-A[l]<3
[3] C«-LJf*100
L 4 ] L+-10 0 11
[5] A«-1721119+A[2] + (L ( 146097x5) * 4) + ( L ( 1461xL)*4)+L(2+153xM)*5
V
VlDAY [Li] V
VR+IDAY N;M;L
[1] M+0 31 59 90 120 151 181 212 243 273 304 334
L 2] L+LLEAt A[3]
[3] R+-M [A[l]]+A[2]+Lx/v[l]>2
V
SlILEAfl L]V
V R+ILEAt X
[1] A«-l = 2l+/0 = 4 100 40 0 IA
V
78
CREATIVE COMPUTING
Get updated... keep updated with
ilYi
the leading magazine in the
personal computer field
The personal
computer
age is here.
Home computers
... practical,
affordable.
Join Byte’s 110,000 sub¬
scribers and catch up on
the latest developments
in the fast-growing field of microprocessors. Read
BYTE, The Small Systems Journal that tells you
everything you want to know about personal com¬
puters, including how to construct and program
your own computer (over 30,000 BYTE readers
have already built, or bought, their own systems
and half of these have 8K bytes or more).
You’ll find our tutorials on hardware and software
invaluable reading, also our reports on home ap¬
plications and evaluative reviews based on ex¬
periences with home computer products.
Large scale integration has
slashed prices of central
processors and other com¬
puter components. This has encouraged the devel¬
opment of new, low-cost peripherals resulting in more
hardware and software — more applications than you
could imagine, more opportunities for you. BYTE brings
it all to you. Every issue is packed with stimulating and
timely articles by professionals, computer scientists and
serious amateurs.
BYTE editorials explore the fun of using and applying
computers toward personally interesting problems such
as electronic music, video games and control of systems
for alarms to private information systems.
Subscribe now to BYTE . . . The Small Systems Journal
Read your first copy of
BYTE, if it's everything you
expected, honor our in¬
voice. If it isn't, just write
'CANCEL'' across the in¬
voice and mail it back. You
won't be billed and the
first issue is yours.
Allow 6 to 8 weeks for Processing.
©
Byte Publications, Inc. 1977
i
i
i
i
i
BYTE Subscription Dept 84 • P.O. Box 361 • Arlington, Mass. 02174
PLEASE ENTER MY SUBSCRIPTION FOR:
□ One year $12 (12 issues) □ Two years $22 □ Three years $32
□ Check enclosed (entitles you to bonus of one extra issue)
□ Bill me □ Bill BankAmericard/Visa □ Bill Master Charge
Card Number I I I I I I I I I I I 1 I I I Expiration Date: -
Signature: -Name (please print) -
Address:--
City:--
State/Co untiy:-
FOREIGN RATES FOR ONE YEAR: (Please remit in U.S. Funds)
□ Canada or Mexico $17.50 (Air delivered) □ Europe $25 (Air delivered)
□ All other countries except above: $25 (Surface delivery)
Air delivery available on request
EITi
Code:-
>
]
Grammar
as a
Programming
Language
Neil Rowe*
1. Introduction
A number of interesting projects involving such things as computer-generated sentences, poems,
and stories have been presented recently in this magazine . 1 To perhaps clarify the similarities underlying
these projects, I would like to propose a framework useful for such projects and others like them. This
framework is the notion of a generative grammar. While grammars are usually associated with linguistics,
their usefulness goes far beyond just "language" to many different domains. Their application is general
enough to make grammars a sort of programming language in their own right.
A simple grammar-running control structure is presented, uncomplicated and very suitable for
student tinkering. So not only can students write grammars, but they can modify and improve the grammar
interpreter itself, learning something about how a simple kind of computer parser works.
2 , A one-command computer language
Consider the control structure as a one-command computer language. (See Appendix for details
of an implementation in the language Logo^.) The R ("rule" or "replace") command can be expressed as a
function (or procedure) with two list arguments:
R [NAME] [JOE]
The command works always on a single list (string) of words. It replaces in this list particular words by
other particular words. That above command, for instance, says to look for all occurrences of the word
NAME in the list and change them to JOE. We can also replace one word by several:
R [NAME] [THE PRESIDENT OF THE UNITED STATES]
Oftentimes you’re going to want to make choices when replacing stuff. That is, you won’t always
want to replace NAME with the same name JOE. We might want for variety to replace it occasionally with
TOM, DICK, or HARRY. We can write:
R [NAME] [(JOE TOM DICK HARRY)]
The parentheses mean for the computer to choose only one of the things inside them.
We can combine the brackets and parentheses in commands:
R [NAME] [(JOE TOM DICK HARRY) C. (JONES DOE DOAKES)]
which replaces NAME by JOE C. JONES, or HARRY C. DOE, etc. Or we can put brackets within parentheses:
R [NAME] [(JOE [TERRIBLE TOM] [DICK THE INSURANCE SALESMAN] HARRY) C. (JONES DOE
DOAKES)]
Remember, brackets mean use everything inside them; parentheses mean choose one and only one of the
things inside them.
’Artificial Intelligence Laboratory, Massachusetts Institute of Technology
80
CREATIVE COMPUTING
i
3. Writing sentences
R commands by themselves aren’t too interesting. You have to apply several in sequence — a
"grammar". Here’s a way to create simple English sentences:
I
TO SIMPSENTENCE
10 R [SIMPSENTENCE] [NOUNPHRASE VERBPHRASE]
20 R [VERBPHRASE] [VERB NOUNPHRASE]
30 R [NOUNPHRASE] [([DETERMINER ADJECTIVE NOUN] NAME)]
100 R [VERB] [(LIKES HATES BOTHERS BEFRIENDS)]
110 R [DETERMINER] [(A THE SOME)]
120 R [ADJECTIVE] [(BIG TINY CHEERFUL SAD HAPPY GREEN PERPLEXED)]
130 R [NOUN] [(BOY GIRL COMPUTER ROBOT MARTIAN)]
140 R [NAME] [(TOM DICK HARRY SALLY SUE SANDRA)]
END
which can generate sentences like the following:
THE CHEERFUL ROBOT BOTHERS SOME SAD GIRL
TOM LIKES THE GREEN COMPUTER
A HAPPY MARTIAN BEFRIENDS SALLY
The nice thing is that you can add new features quite easily to this sentence generator. For instance, you
can get sentences like
SOME BIG BOY IS SAD
A CHEERFUL ROBOT IS PERPLEXED
SANDRA IS CHEERFUL
by just changing line 20 to:
20 R [VERBPHRASE] [([VERB NOUNPHRASE] [IS ADJECTIVE])]
And you can include adverbs in your sentences. Change line 20 to:
20 R [VERBPHRASE] [ADVERB ([VERB NOUNPHRASE] [IS ADJECTIVE])]
and add a line 90:
90 R [ADVERB] [(OFTEN SURPRISINGLY PERHAPS DUTIFULLY)]
Examples:
DICK OFTEN IS HAPPY
A GREEN GIRL DUTIFULLY BEFRIENDS THE BIG ROBOT
l
4. Cyolio rule application
Suppose we want to allow an indefinite number of adjectives in front of the noun, like
THE BIG HAPPY GREEN ROBOT
which we might expect to do by
30 R [NOUNPHRASE] [([DETERMINER ADJSTRING NOUN] NAME)]
35 R [ADJSTRING] [ADJECTIVE (ADJSTRING [])]
(The bracket pair [] means the "empty list" or the "list of no elements". If it is chosen instead of
ADJSTRING, ADJSTRING will be replaced by only ADJECTIVE) The intent of line 35 is to just keep piling up
adjectives in front of the noun until the random choice manages to choose the second choice.
But line 35 won’t work because the both arguments contain the word ADJSTRING. Thus when you
are done with line 35, there may still be ADJSTRING’s in the string, and that’s not what we want. What we
really want then is to apply rule 35 again. One way to do this is just to apply the rules repeatedly, until
on any particular time thru the rules you haven’t been able to make any substitutions. Then you’re done.
(See the Appendix.)
Making the necessary changes to the control structure, we can now get:
THE GREEN PERPLEXED ROBOT SURPRISINGLY LIKES SOME TINY SAD BOY
SUE PERHAPS HATES A BIG GREEN HAPPY MARTIAN
Now suppose we want to have compound sentences, sentences composed of two subsentences
JAN/FEB 1978
81
joined by a word like "and". Change line 10 to read
10 R [SIMPSENTENCE] [NOUNPHRASE VERBPHRASE ([] [(AND BUT SINCE THOUGH)
SIMPSENTENCE])]
giving:
THE TINY HAPPY ROBOT OFTEN LIKES SANDRA AND TOM SURPRISINGLY IS SAD
•nd so on. There are many possibilities for further development.
So here’s our new improved sentence generator:
TO SIMPSENTENCE
10 R [SIMPSENTENCE] [NOUNPHRASE VERBPHRASE ([] [(AND BUT SINCE THOUGH)
SIMPSENTENCE])]
20 R [VERBPHRASE] [ADVERB ([VERB NOUNPHRASE] [IS ADJECTIVE])]
30 R [NOUNPHRASE] [([DETERMINER ADJLIST NOUN] NAME)]
35 R [ADJLIST] [ADJECTIVE ([] ADJLIST)]
40 R [VERB] [(LIKES HATES BOTHERS BEFRIENDS)]
50 R [DETERMINER] [(THE A SOME)]
60 R [ADJECTIVE] [(BIG TINY HAPPY SAD GREEN PERPLEXED)]
70 R [NOUN] [(BOY GIRL COMPUTER ROBOT MARTIAN)]
80 R [NAME] [(TOM DICK HARRY SALLY SUE SANDRA)]
90 R [ADVERB] [(OFTEN SURPRISINGLY PERHAPS DUTIFULLY)]
END
5. Writing poetry and the R.ONCE feature
Consider the problem of writing poems in which the last syllables of the line must rhyme. We
could try
TO LIMERICK
10 R [LIMERICK] [A A B B A]
20 R [A] [DOWN UP DOWN UP DOWN RHYME 1]
30 R [B] [DOWN UP DOWN RHYME2]
40 R [RHYME 1] [(DATE FATE WAIT SATE SMELL BELL HELL WELL BROKE COKE JOKE YOKE)]
50 R [RHYME2] [(FEAT BEAT SEAT HEAT WAY SAY BAY HAY MOOD FOOD STEWED RUDE)]
60 R [DOWN] [(UH AH ER IR AN UN IS US AW E)]
70 R [UP] [(MEAN PROTE VAST SPRILL TRAMMED SLOOSED POUNT GRASP DRUNK)]
END
but this runs into a problem: each time the interpreter substitutes for RHYME1 or RHYME2, it will choose a
new word. That is, we have no way to force a rhyme.
It seems what we need is a "new R command", call it R.ONCE, that works just like the old, except it
only chooses once per cycle. (See the Appendix.) Using it we can rewrite our limerick-writing program
this way:
TO LIMERICK
10 R [LIMERICK] [A A B B A]
20 R [A] [DOWN UP DOWN UP DOWN RHYME 1]
30 R [B] [DOWN UP DOWN RHYME2]
40 R.ONCE [RHYME 1] [(ATE ELL OKE)]
50 R.ONCE [RHYME2] [(EAT AY OOD)]
100 R [ATE] [(DATE FATE WAIT SATE)]
110 R [ELL] [(SMELL BELL HELL WELL)]
120 R [OKE] [(BROKE COKE JOKE YOKE)]
130 R [EAT] [(FEAT BEAT SEAT HEAT)]
140 R [AY] [(WAY SAY BAY HAY)]
150 R [OOD] [(MOOD FOOD STEWED RUDE)]
200 R [DOWN] [(UH AH ER IR AN UN IS US AW E)]
210 R [UP] [(MEAN PROTE VAST PRILL TRAMMED SLOOSED POONT GRASP DRUNK)]
END
A sample limerick:
AH GRASP UN POONT E DATE
AN SLOOSED IR POONT UH SATE
ER VAST AN FOOD
UN PRILL IS STEWED
AW PROTE IR TRAMMED US FATE
6. Writing musio
Here’s a program that writes melodies according to a few simple harmonic schemes. It first
82
CREATIVE COMPUTING
chooses a harmony for each measure, then constructs measures to fit that harmony. To make its melody a
little more unified, it uses R.ONCE to make sure that measures with the same harmony have the same
rhythm. The final string consists of pitches (C, D, E, F, G, A, B, or CC) alternating with durations (Q
(quarter), H (half), DH (dotted half), or W (whole) notes).
TO MELODY
10 R [MELODY] [CCHORD (CCHORD GCHORD FCHORD) CCHORD ([CCHORD GCHORD DCHORD]
[GCHORD DCHORD GCHORD] [GCHORD CCHORD FCHORD]) GCHORD CCHORD]
20 R.ONCE [CCHORD] [([CNOTE W] [CNOTE DH CNOTE Q] [CNOTE H CNOTE Q CNOTE Q])]
30 R.ONCE [GCHORD] [([GNOTE H GNOTE H] [GNOTE Q ORDNOTE Q GNOTE Q ORDNOTE Q])]
40 R.ONCE [FCHORD] [([FNOTE H FNOTE H] [FNOTE Q ORDNOTE Q FNOTE Q ORDNOTE Q])]
50 R.ONCE [DCHORD] [([DNOTE H DNOTE H] [DNOTE Q ORDNOTE Q DNOTE Q ORDNOTE Q])]
100 R [CNOTE] [(C E G CC)]
110 R [GNOTE] [(DGB)]
120 R [FNOTE] [(C F A CC)]
130 R [DNOTE] [(D F A)]
140 R [ORDNOTE] [(DEFGA B)]
END
Sample melodies are given in Fig. 1.
7. Drawing a robot face
k
We can apply the idea of a grammar to drawing designs too. Consider the problem of drawing
with a "turtle" that can either move forward a certain amount (abbreviated FD) or turn right a specified
number of degrees (abbreviated RT). When moving forward, he can either leave a line behind him
(PENDOWN mode) or not (PENUP mode). So to draw a rectangle:
FD 10 RT 90 FD 20 RT 90 FD 10 RT 90 FD 20 RT 90
Let's write a grammar to draw "robot" faces. We'll use a large square for the head, small squares
for the eyes, and small rectangles in a row for the teeth. We make choices as to whether to have a tall
head or a square head, have the eyes and mouth high or low in the head, and whether to show the teeth in
the mouth.
TO FACE
10 R [FACE] [HEAD (SETH1GH SETLOW) EYES MOUTH]
20 R [HEAD] [(TALLHEAD SQUAREHEAD)]
100 R [EYES] [EYE SETUPEYE2 EYE]
200 R [MOUTH] [SETUPMOUTH (OPENMOUTH SIXTEETH)]
210 R [SIXTEETH] [TOOTHPLUS TOOTHPLUS TOOTHPLUS TOOTHPLUS TOOTHPLUS TOOTHPLUS]
220 R [TOOTHPLUS] [TOOTH PENUP FD 10 PENDOWN]
300 R [SETHIGH] [PENUP FD 80 RT 90 FD 20 PENDOWN]
310 R [SETLOW] [PENUP FD 50 RT 90 FD 20 PENDOWN]
320 R [SETUPEYE2] [PENUP FD 40 PENDOWN]
330 R [SETUPMOUTH] [PENUP FD 19 RT 90 FD 55 RT 90 PENDOWN]
END
where the remaining undefined words are just rectangles and squares of the appropriate size. Sample
faces are given in Fig. 2.
JAN/FEB 1978
83
]
where MARK is a command that draws a letter, and where DASH, SHORTDASH, and DOUBLEDASH are defined
in the obvious way.
The grammar builds up a molecule by starting with a carbon atom and attaching to each of its four
sides either a hydrogen atom, a single-bonded carbon atom, or a double-bonded carbon atom pair. In the
case of the last two, the process is repeated for bonds of those carbon atoms. Note that since the entire
molecule must be drawn by a step-by-step process, "backing up" must be done at times.
Some sample chemical structures are given in Fig. 3.
H
H-C-H
H-C:
I
H
H
:C-C-H
H
H-C-H
i
H
H
i
H-C-
i
H
-C-
i
H
H
i
-C-H
i
H
C-H C-
H
i
H
i
:C-H
C-H C-H
»
H
C-H
C-H
i
H
9. Additional projects
Try writing grammars for the following.
1. Simple stories, e.g. fables
2. Newspaper stories
3. Advertisements
4. New words (that sound like English, e.g., not like "ggnxyqprt")
5. Something like SIMPSENTENCE but with subject-verb agreement in number (singular vs. plural)
6. Or ability to use "an" and "a" properly
7. Or ability to substitute a pronoun (the correct one) occasionally
8. Sentences in some foreign language
9. Musical melodies based on melodic (rather than harmonic) considerations
10. Passacaglias on a given ground (see a music theory book)
11. Rondos where the sections are all in ternary form (ditto)
12. Apartment houses of random size and shape, with shades drawn for random windows, plants in
the window for random windows, etc.
13. "Snowflake" curves (see Fig. 4)
14. Trees and bushes (find out something about how real ones grow)
15. A different kind of chemical structure
16. The physics of bubble chamber particle tracks
17. Some kind of electronic circuit diagrams, perhaps digital logic
18. Numbers which are powers of 2
19. Composite (not prime) numbers
20. The English names of numbers up to 100 billion
21. "Agendas" for your daily activities
22. Computer programs in some particular computer language
t
]
84
CREATIVE COMPUTING
3
10. Further control structure modifications
As you may observe, one of the nicest things about this system is the relative ease of making
changes to the control structure (or interpreter), thanks to its relative simplicity. Feel free to experiment.
Do some reading about linguistics/*'®'®
For one, it might be nice to have context-sensitivity of a sort: have rules that replace a string of
words by a string of words. For instance, we could generate Fibonacci numbers by the following:
TO FIBO
10 R [FIBO] [A ♦ B]
20 R.ONCE [A] [(1 NEWB)]
30 R [1 ♦ B] [1 ♦ 1]
40 R [B + 1] [1 ♦ 1]
50 R [B] [FIBO]
60 R [NEWB] [B]
END
The resulting string consists of alternating l’s and ♦’$, like l+l + l + l + l. While it is being generated,
the number of A’s represents the nth Fibonacci number, the number of B’s the (n*l)th Fibonacci number,
and hence the total number of letters the (n+2)th Fibonacci number.
Another idea might be to have symbols that match more than one word — like something called
ADJECTIVE that matches any adjective. Or you could try to introduce something like a linguistic
transformation; see the references.
A different interesting project is to turn the grammar around" and use it to analyze strings of
words, rather than create them. For instance, is a given simple sentence grammatical English? Or does a
given picture of a face show teeth? A way to do that is to start with a string and the last rule of a
grammar. You then try to find a match between things in your string and the second argument to the R
command. (If the second argument contains choices, try every possibility.) If you find a match, substitute
the first argument.
11. Acknowledgements
The ideas presented here are not particularly original. There is a large body of knowledge
regarding grammars and parsing within computer science. Ken Kahn had the idea of using grammars with
Logo. Work of Ira Goldstein and Mark Miller 7 has emphasized the grammatical aspects of Logo
programming in general. The language SNOBOL 8 has been an influence. There have also been specific
applications of grammars. 9 - 10 - 11 ' 12 - 13 Finally, I must acknowledge the work of Seymour Papert and others
in developing a new kind of learning environment based around Logo.
Thanks to Hal Abelson, Andy DiSessa, Ken Kahn, and Mark Miller for help with this paper.
References
1* The September-October 1976 issue contains four excellent articles of this kind; see also other
issues.
2. Seymour Papert, "Uses of Technology to Enhance Education", MIT Artificial Intelligence
Laboratory Logo Group Memo «8, June 1973.
3. Hal Abelson, Nat Goodman, and Lee Rudolph, "Logo Manual", MIT Logo Memo #7, June 1974; or
contact the author for a draft of his manual in preparation.
4. Emmon Bach, Syntactic Theory. Holt, Rinehart, & Winston, 1973.
5. Andreas Koutsoudas, Writing Transformational Grammars: An Introduction. McGraw-Hill, 1966.
6. Barron Brainerd, Introduction to the Mathematics of Language Study. American Elsevier, 1971.
7. Ira Goldstein and Mark Miller, "Intelligent Tutoring Programs: A Proposal For Research", MIT
l
JAN/FEB 1978
85
Logo Group Working Paper #50, 1976.
8. James F. Gimpel, Algorithms in SN0B0L4, Wiley, 1976.
9. William A. Woods, "Mathematical Linguistics and Automatic Translation", Harvard University Aiken
Computation Laboratory, Report No. NSF-19 (September 1967).
10. David E. Rumelhart, "Notes on a Schema for Stories", in Representation and Understanding,
Bobrow and Collins, ed., 1975, p.211.
11. Gahan Wilson, "The Science Fiction Horror Movie Pocket Computer", in National Lampoon: The
Paperback Conspiracy, Warner, 1974.
12. Terry Winograd, "Linguistics and Computer Analysis
Theory, 12:1 (1968), p.2.
13. A. C. Shaw, "A Formal Picture Description Scheme as a
Information and Control, 14, 1969, p.5.
of Tonal Harmony", Journal of Music
Basis For Picture Processing Systems",
Appendix: a Logo implementation
TO SAY :PROCNAME
10 MAKE "STRING :PROCNAME
20 RUN :PR0CNAME
30 PRINT rSTRING
40 SAY :PR0CNAME
END
TO R :SYMB0L REPLACEMENT
10 MAKE "STRING MATCHREPLACE :STRING .-SYMBOL
END
TO MATCHREPLACE :STRING :SYMB0L
10 IF (EMPTYP :STRING) OUTPUT :STRING
20 TEST ((F rSYMBOL) - (F rSTRING))
30 IFTRUE OUTPUT SENTENCE (EXPANSION REPLACEMENT) (MATCHREPLACE (BUTFIRST rSTRING)
rSYMBOL)
40 IFFALSE OUTPUT SENTENCE (FIRST rSTRING) (MATCHREPLACE (BUTFIRST rSTRING) rSYMBOL)
END
TO EXPANSION rSTRING
10 IF EMPTYP rSTRING THEN OUTPUT []
20 TEST LISTP FIRST rSTRING
30 IFFALSE OUTPUT SENTENCE (FIRST rSTRING) (EXPANSION BUTFIRST rSTRING)
40 IFTRUE OUTPUT SENTENCE (EXPANSION RANDCHOICE FIRST rSTRING) (EXPANSION BUTFIRST
rSTRING)
END
TO RANDCHOICE rLIST
10 OUTPUT ITEM (RANDOM 1 (COUNT rLIST)) rLIST
END
(RANDOM gives a random integer in the range X through Y; ITEM the Nth item of list L)
Cyclic rule application;
TO CYCLETHRU rPROCNAME
10 MAKE "CHANGEFLAG "FALSE
20 RUN rPROCNAME
30 IF (.-CHANGEFLAG - "TRUE) CYCLETHRU rPROCNAME
END
Change line 20 of SAY:
20 CYCLETHRU rPROCNAME
And change line 25 of MATCHREPLACE:
25 IFTRUE MAKE "CHANGEFLAG "TRUE
The R.QIMCE feature:
TO R.ONCE rSYMBOL rREPLACEMENT
10 MAKE "REPLACEMENT (EXPANSION rREPLACEMENT)
20 MAKE "STRING MATCHREPLACE rSTRING rSYMBOL
END
h
86
CREATIVE COMPUTING
1978
BUSINESS and PERSONAL
COMPUTER
SALE & EXPOSITION
City Line Holiday Inn
Philadelphia, Pennsylvania
3 BIG DAYS!
February 27~ March 1 st , 1978
A massive sales oriented
exposition
A major Philadelphia convention center will be
transformed into a massive and uniquely
comprehensive computer sales and information
headquarters.
This computer super sale and exposition will be
combined with special workshops and seminars
PRODUX200&. INC.
CONVENTION SERVICES DEPARTMENT
ROOSEVELT BLVD & MASCHER ST. PHILADELPHIA PA 19120
10 AM-8 PM
Over 20,000 sq. feet of sales exhibits
Seminars and workshops
ADVANCE TICKETS: $ 3.00
TICKETS AT D00R:$ 6.00
8'x8' Floor Exhibit Space $325
4'x4' Table Top Space $200
JAN/FEB 1978
87
computer
simulation
David N. Ah I
This article demonstrates how to
write a computer simulation to be used
for classroom instruction in some other
subject. The object is not to teach
about computers or computer
programming; indeed very little
programming knowledge is required to
write a useful and effective simulation.
Nor is the purpose of this article to
set down guidelines for determining
instructional objectives or choosing
subjects appropriate for simulation.
The booklet Designing Classroom
Simulations by Glenn Pate and Hugh
Parker, Jr., fulfills these needs nicely. It
should be noted, however, that not all
subjects suitable for a classroom
simulation or game are equally suitable
for one on the computer.
For the most part, simulations and
games have been found to be an
extremely effective way of teaching a
wide variety of subjects. Several
studies have described the learning
effectiveness of games (Allen, Allen,
and Ross, 1970; Boochock and Schild,
1968; Fletcher, 1971). Learning games
also generally create an intense and
often enjoyable interpersonal
experience. This is due in part to the
interdependent task structure that
requires interaction among the players
(Inbar, 1968). The rationale for
computer simulations is very
compelling given the unique ability of
such models to compress time,
duplicate expensive, massive, delicate,
or dangerous equipment, and produce
large sample sizes (Braun, 1972).
However, lest we get overly ardent in
using simulations, it shoujd also be
noted that certain things can be
learned perfectly well by reading about
them in a book, and to write a simula¬
tion is probably a waste of time to
everyone but the writer, who will
inevitably have learned more about the
subject than when he or she started.
Presented at CCUC/5 (Conference on Computers
in the Undergraduate Curricula) in Pullman.
Washington, June 1974.
88
CREATIVE COMPUTING
The Subject
In response to current events, the
subject for our computer simulation is
electrical energy generation and
usage. The objectives of this simula¬
tion are:
1. To develop within the student the
ability to recognize the need for
advance planning and construction of
electrical generation capacity.
2. To develop within the student the
ability to plan an economically and
environmentally sound electrical
generation policy using five major fuel
sources—coal, oil, gas, nuclear, and
water.
Background Data and Assumptions
After poring over innumerable
reference sources, you will quickly
discover that:
1. There are far more facts and data
available than you can use.
2. Several vital facts that you need
are unavailable.
Here you can either quit before you’ve
wasted too much time, or fearlessly
plunge ahead. With a surge of op¬
timism, we chose the latter course.
Ultimately, the following facts were
obtained:
1. The demand for electricity is
increasing 5.4% per year. In 1971,
usage was 1.466 trillion kwh.
2. Some mathematical gyrations
indicate that to produce 1.466 trillion
kwh requires approximately 308
million kw of generation capacity plus
a 20% margin of reserve (for extra-hot
days, generator failures, emergencies,
etc.) or a total capacity of 367 million
kw.
3. The amount of generating capaci¬
ty operational in 1971 is as follows:
Fuel
Generating
Capacity
Annual
Growth
Coal
167 million kw
6.7%
Fuel Oil
50
7.4
Gas
87
8.4
Nuclear
7
54.8
Hydro
56
5.2
Total
367
FLOWCHART FOR ELECTRIC POWER GENERATION SIMULATION
4. Relationships between Figure 1
generation, fuels, and their supply is as
shown in Table I.
TABLE I
Amount to Proven Reserves,
Fuel
Generate 1 Kwh
Fuel Cost
United States
Coal
.92 lb
$8.63/ton
830 billion tons
Fuel Oil
.00183 lb
$9.00/bbl
48 billion barrels
Gas
10.6 cu ft
$0.44/1000 cu ft
286 trillion cu ft
Nuclear
.0000075 lb
$530/lb
1.05 million tons
Hydro
n/a
$0.50/1000 kwh
190 million kw
JAN/FEB 1978
89
Naturally, few of these numbers are
constant over time. Since the simula¬
tion to be written will span a period of
50 to 100 years, some of the trends will
have to be taken into account. This
leads into the uncharted area of
assumptions. For example, increasing
efficiency of power plants has reduced
the amount of coal required to produce
one kilowatthour of electricity from
1.29 lb. in 1946 to 0.92 in 1971; an
average reduction of 0.015 lb per year
or a compound rate of 1.3% per year.
Will this continue? Who knows? Let’s
assume it will but certainly not to using
zero fuel. As the model is formulated,
one must be careful of these assump¬
tions and either put limits on the time
period covered by the model or alter
the trends and assumptions over time.
Any computer model or simulation
requires a fair number of assumptions
if it is not to get completely out of hand.
Here is a summary of the major
assumptions used in this model.
1. The demand for electricity will
continue to increase at an annual rate
of 5.4% per year.
2. Efficiency of generators will con¬
tinue to improve as discussed above at
a rate of 1.3% per year.
3. The major cost variable in
generating electricity using different
fuels is the cost of the fuel itself. In
other words, the capital cost for new
generating equipment is about the
same per kilowatt hour for a coal, oil,
gas, or nuclear plant. (In fact, the costs
range from $240 to $280 per kwh of new
capacity which is remarkably close).
4. Cost for additional hydro capacity
depends greatly upon the cost of the
dam which are generally built for
irrigation as well as for power. Further¬
more, most dams are government-built
and the cost figures are not com¬
parable with privately-owned utilities.
However, due to environmental and
other considerations, it is unlikely that
new hydro capacity can be added at a
rate of much over 5.5% per year. Forthe
model, this rate is assumed.
5. Fuel reserves will not change
significantly over time. This assump¬
tion is subject to the most debate.
Discoveries of new natural gas
sources, for example, have been keep¬
ing pace with usage. As fuel prices rise,
new sources become economically
feasible to exploit; deep coal mines or
ones with thinner veins, for examples.
Also, new recovery methods may be
discovered or become cost effective;
for example, the recovery of shale oil.
In the computer program, it is wise to
10 PRINT "PROGRAM ■POWER'"
20 PRINT "SIMULATION OF P0«ER GENERATION, FUEL REQUIREMENTS, AND COSTS"
30 PRINT "(VERSION 1-A, JAN 1974, WRITTEN BY DAVID H, AML)"
40 INPUT "WANT INSTRUCTIONS (Y OR N)"|AS V PRINT \ IF A|»"N" THEN 230
100 1
INSTRUCTIONS
110 PRINT
120 PRINT
130 PRINT
140 PRINT
150 PRINT
160 PRINT
170 PRINT
180 PRINT
190 PRINT
200 PRINT
210 PRINT
220 PRINT
225 PRINT
230 PRINT
240 input
250 1
"YOU ARE THE DIRECTOR OF THE U.S. FEDERAL POWER COMMISSION,"
"IT IS UP TO YOU TO APPROVE THE BUILDING OF NEW POWER GEN*"
"Eration facilities for both investor-owned and government"
•CONTROLLED UTILITIES, THEREFORE, AN IMPORTANT PART OF"
"YOUR JOB IS KNOWING HOW MUCH ADDITIONAL POWER IS REQUIRED#"
"HOW IT CAN BE OBTAINED CI.E.r USING WHAT TYPE OF FUEL)#"
"AND THE IMPACT ON FUEL RESERVES, SINCE YOUR ACTIONS WILL"
"HAVE AN ENORMOUS IMPACT ON FUTURE GENERATIONS (WHO ALSO"
"need fuel)# you have at your disposal a computer Simula-"
"TI0N OR MODEL OF THE U.S, POWER GENERATION SYSTEM,"\PRINT
"THE MODEL WILL ASK FOR YOUR DECISIONS ON NEW GENERATING"
"CAPACITY EVERY 5 YEARS AnD THEN GIVE YOU THE RESULTS OF"
"YOUR DECISIONS." \ PRINT
"YOU MAY RUN THE MODEL FOR 25 TO 100 YEARS,"
"HOW MANY YEAR3"IY3 \ IF V3<25 OR Y3M00 THEN 230
INITIAL CONDITIONS AND VALUES
260 FS (1)■"COAL" \ FS(2)»"0IL" \ FSC3)i"GA3" \ FS(4)."NUCLEAR"
265 FS(5)«"HYDR0"
270 GS(1)»"BILLI0N TONS" \ Gf(2)""BILLION BARRELS" \ GS(3)""TRILLION CU FT"
275 GS(4)""MILLION TONS" \ GS(5)""MILLION KW"
280 H(1)"832 \ H(2)"50 \ H(3)"70F \ H(4)"l,05 \ H(5)«190 | 1966 RESERVES
290 S(l)"l*.16 \ S (2) "3,66 \ 8(3)"45
295 3C4)"34.8E-6 I OTHER FUEL USAGE
310 Y# Y2"1966 \ W"1466/1.3 V C(6)"367 1 YEAR, USAGE, GEn CAPACITY
320 C(1)■167 \ U(l)"613 1 COAL CURRENT CAPACITY, 1966 USAGE
330 C(2)"50 \ U(2)"76
340 C(3)"87 \ U(3)"25l
350 C(4)"7 \ U(4)"5,5
360 C(5)"56 \ U(5)"200
370 R2(I)>0 FOR I"1 TO 5 1 USAGE OF RESERVES
360 BS""\ \**M* ###*#*"
390 CS""
400 DS""\ swift,** 0000000 000,00"
410 1
FUEL USAGE BY NON-POWER GENERATION SOURCES
420 FOR I"1 TO 4
425 IF R9(I)■1 THEN 440
430 3(I)"S(I)*1,3 V R2(I)"R2(I)*8(I)
440 NEXT I
500 1
CAPACITY AND USAGE
510 Y"Y*5 \ W«W*l,3 \ K*W/C(6) 1 YEAR, DEMAND, CONSTANT
520 P"W/(C(6)*,05) \ W1"W1*5.75"W I X FUEL USAGE, CUM GENERATION
530 P1■P1♦P \ FOR X"1 TO 5
535 IF R9(I)"l THEN U(I)"0
540 U2(I)"U(I) \ U(I)"C(I)*K I ALLOCATE GENERATION BY FUEL
550 NEXT I
5b0 1
FUEL USAGE (5 YEARS)
590 E9" ,9867a(Y» l966,5) I
600 PRINT \ PRINT "NOW CALCULATING 5-YEAR
610 Rl(l)"2,5#(U(t)*U2(l))*,92#ER/2000 1
620 Rl(2)"2,5*(U(2 )aU 2(2))* # 001S3"E9
630 Rl(3)»2,5*(U(3)*U2(3>)*10,6"E9/1000
640 Rl(4)"2,5*(U(4)+U2(4))*3,75
650 FOR I"1 TO 3
655 IF R9(I)■1 THEN 710
660 R2(I)"R2(I)*R1(I)
670 Hl(I)«(H(I).R2(I))"100/H(I) |
680 IF HKI)>10 THEN 710
690 PRINT "THE U'.S, HAS VIRTUALLY RUN OUT
5-YEAR EFFICIENCY FACTOR
FUEL USAGE" S PRINT
coal billion tons
i oil billion bbl
l GAS TRILLION CU FT
l NUCLEAR TONS
% cum fuel usage
OF "FS(I)■ 1" V R9(I)■1
710 NEXT I
715 IF R9(4)«1 THEN 760
720 R2(4)«R2(4)aRI(4)*1E*6
730 Ml(4)i(H(4)-R2(4))*100/H(4) | X CU M FUEL USAGE
740 IF Hl(4)M0 THEN 760
750 PRINT "THE U.S. HAS VIRTUALLY RUN OUT OF NUCLEAR FUEL 1" S R9(4)"l
760 R(5)"C(5)#100/H(5)
770 IF R(5)*"102 THEN PRINT "YOU HAVE NO remaining HYDRO CAPACITY l"
780 FOR I"1 TO 4
785 IF R7(I)"1 THEN 810
700 IF R9(I)"0 THEN 810
800 C(6)"C(6)*C(I) \ C(D"0 \ R7 (I) ■ l
610 NEXT I
900 1
COST OF FUEL PER KW anc TOTAL
90
CREATIVE COMPUTING
910 E9«,9867a(Y*Y2)*100P
920 0Ci)» # 92*E9*8,63/2000 1 C03T«FUEL/Kw « COST/QuAN
930 D(2)■,00183*E9*9
940 DC3)",0106*E9*.44
950 D(4)»7,5E*6*E9*530
960 D (5) ■ , 5
970 T(6)"0
980 FOR I«l TO 5
990 T(I)"U(I)*D(I) \ T(6)»TC6)^T(I) l TOTAL FUEL COSTS
1000 NEXT I
1010 T1«T1*T(6) \ D(6)«T(6)/W
1290 1
SiYEAR RESULTS
1300 PRINT \ PRINT "RESULTS FOR"Y \ PRINT
1310 PRINT "CAPACITY","USAGE","USAGE (X"
1320 PRINT "FUEL", "(MILLION KW) (BILLION KWH)«,«OF CAPACITY)"
1330 FOR !■! TO 5 V IF R8(I)»i THEN 1350
1340 PRINT USING B|,F*(I),C(I),U(I)
1350 NEXT I
1360 PRINT USING BI^CS,"TOTAL",C(6),W,P
1361 IF P >80 THEN 1362 ELSE IF P«70 THEN 1366 ELSE GOTO 1370
1362 PRINT \ PRINT "YOUR MARGIN OF RESERVE CAPACITY IS ONLY"INT(100-P)"X"
1363 IF P>90 THEN 1364 ELSE PRINT "LEADING TO NUMEROUS BROWNOUTS."\GOTO 1368
1364 PRINT "LEADING TO MAJOR PROBLEMS IN INDUSTRIAL PRODUCTION AND URBAN"
1365 PRINT "TRANSPORTATION SYSTEMS," \ GOTO 1368
1^66 PRINT "YOUR RESERVE CAPACITY MARGIN OF"INT(100-P)"% IS TOO GREAT,"
1367 PRINT "THE INVESTMENT FOR NEW PLANTS WAS NEEDED MORE IN OTHER AREAS."
1368 PRlNj "YOUR SUCCESSOR IS ABOUT TO BE APPOINTED UNLESS THERE IS A"
1369 PRINT "DRAMATIC IMPROVEMENT IN THE NEXT 5 YEARS."
1370 PRINT \ PRINT "","FUEL COST","TOTAL FUEL S","REMAINING FUEL"
1380 PRINT "FUEL","PER 1000 *WH»,"(MILLION $)","(% OF 1966)"
1385 Hl(5)"(H(5)»C(5))#100/H(5)
1390 FOR 1*1 TO 5 S IF R8(I)«1 THEN 1420
1400 PRINT USING D$,F*(I),D(I),T(I),Hi(I)
1420 NEXT I
1430 PRINT USING DS,"TOTAL",D(6),T(6)
1440 IF Y»Y2"*V3 THEN 1700
1450 PRINT \ PRINT "EST, DEMAND FOR ELECTRICITY IN "Y*5"I8"W*i,J"BILLION kwh"
1460 PRINT "GENERATING CAPACITY IN"Y"I3"C(6)"BILLION KW,"
1470 PRINT "DESIRABLE GENERATING CAPACITY IN"Y^5"IS"W*,328"BILLI0N KW,"
1480 PRINT
1490 R8(I)"R9(I) FOR I"1 TO 4
1500 1
INPUT NEW VALUES
1510 PRINT "AMOUNT OF NEW CAPACITY TO BE ADDED IN NEXT 5 YEARS (BILLION KW)"
1520 C1(6)"0
1530 FOR I«1 TO 5 \ IF R9(I)"1 THEN 1560
1540 PRINT FS (I), V INPUT N(I)
1542 IF I<>5 THEN 1550
1543 IF N(5)«»,3*C(5) THEN 1544 ELSE A».3*C(5) V GOTO 1546
1544 IF C(5)*N(5)<190 THEN 1550 ELSE A«1$0,C(5)
1546 PRINT "THAT'S TOO MUCH ADDITIONAL HYDRO CAPACITY." A"I3 THE LIMIT."
1548 GOTO 1540
1550 C1(I)"C(I)*N(I) \ Cl(6)"Cl(6)+Cl(I)
1560 NEXT I
1570 IF C1(6)>W*,26 THEN 1600
1580 PRINT "THAT'S NOT ENOUGH ADDITIONAL CAPACITY TO MEET THE DEMAND,"
1590 PRINT "YOU NEED A MINIMUM OF"INT(W*,26-Cl(6))"BILLION KW OVER"
1595 PRINT "THE CURRENT CAPACITY 0F"C(6)" t PLEASE TRY AGAIN," \ GOTO 1510
1600 1
UPDATE 5 YEAR AGO FIGURES
1610 FOR I"1 TO 6
1620 C2(I)"C(I) \ C(I)"C1(I)
1630 NEXT I
1640 GOTO 500
1700 1
END SUMMARY
leave all these factors as variables so
that you, or an enterprising student,
can try out other alternatives or “im¬
prove” the simulation.
6. The model will assume a self-
sufficient energy policy; that is, only
fuel reserves within the United States
can be called upon. If you’re an
optimistic internationalist, you can
easily change this assumption in the
one line (280) where these values are
set. Again, the general principle is:
leave everything a variable.
7. All available fuel cannot be used
for the generation of electricity. We’ve
assumed the following percentages are
available: coal 55%, oil 25%, gas 25%,
nuclear 90%.
You’ll discover other assumptions
that have to be made or facts that have
to be gathered as you actually write the
model but if you have most of it be¬
forehand, you’ll have an easier time.
Writing the Model
The temptation, of course, is to
plunge into the computer program.
DON’T! Write a flowchart first. Virtually
all interactive models and simulations
for teaching follow these steps, ex¬
clusive of instructions.
1. Set initial conditions.
2. Perform the calculations for one
period, cycle, steady-state at the start,
etc. Output this.
3. Accept input from the user.
4. Perform calculations for the next
period using inputted data. Output this.
5. Go back to Step 3 until the model
has run the desired number of steps,
periods, etc. At this point go to Step 6.
6. Calculate and output final results.
These steps have been transformed
into the simplified flowchart shown In
Figure 1.
It’s probably also a good idea to state
any formulas used in the model. Other
than percentage calculations, the elec¬
trical generation model didn’t use
many formulas. Here are the most
notable ones:
1710 PRINT S PRINT \ PRINT "8UMMARY RESULTS 1966 T0"Y \ PRINT
1715 Y1"Y-1966 V Hj(5)"H(5)-C(5) 1 TOTAL YEARS, X HYDRO USAGE
1720 PRINT "TOTAL ELECTRICITY GENERATED ""INT(Wi)"BILLION KWH,"
1725 PRINT "AVERAGE PERCENT OF CAPACITY IN USE ■"P1*5/Y1 \ PRINT
1730 Y1■Y^l966 \ PRINT Yl"YEAR FUEL COST 3UMMARYI"
1740 PRINT " TOTAL COST ■ S"5*T1"MILLION"
1745 PRINT " AVERAGE COST PER YEAR * S"5*T1/Y1
1750 PRINT " AVERAGE COST PER 1000 KWH ■ S"5*T1/W1
1760 PRINT \ PRINT "","RESERVES","RESERVES"
1770 PRINT "FUEL"j"IN 1966","IN"Y \ PRINT
1790 FOR X"1 TO 5
1795 A»H(I)iR2(I) \ IF A«0 THEN A"0
1800 PRINT F8(I),H(I),H(X)-R2(I),G*(I)
1810 NEXT I
1820 PRINT \ PRINT \ PRINT «FUEL","X REMAINING OF 1966 RESERVE" \ PRINT
1830 FOR X«1 TO 5
1835 IF H1(I)«0 THEN H1(X)»0
1840 PRINT PI(I),H1(X)
1850 NEXT I
2000 END
Five year fuel usage = 5x (kw Genera¬
tion Year 1 + kw Generation Year 5)-r
2x Efficiency improvement factor x
fuel per kw.
Cost of fuel per yr. = kw Generation x
Efficiency improvement factor x fuel
per kw x cost per unit of fuel
It’s also worthwhile to state the format
of the output and assign letter variables
right on the mocked-up output. For
example:
JAN/FEB 1978
91
RUNNH
PROGRRM ' POWER'
SIMULATION OF POWER GENERATION, FUEL REQUIREMENTS, AND COSTS
(VERSION 1-A, JAN 1974, WRITTEN BV DAVID H. AHL >
WANT INSTRUCTIONS <V OR N>? V
VOU ARE THE DIRECTOR OF THE U. S FEDERAL POWER COMMISSION.
IT IS UP TO VOU TO APPROVE THE BUILDING OF NEW POWER GEN¬
ERATION FACILITIES FOR BOTH INVESTOR-OWNED AND GOVERNMENT
CONTROLLED UTILITIES. THEREFORE, AN IMPORTANT PART OF
VOUR JOB IS KNOWING HOW MUCH ADDITIONAL POWER IS REQUIRED,
HOW IT CAN BE OBTAINED (I.E. , USING WHAT TVPE OF FUEL ),
AND THE IMPACT ON FUEL RESERVES. SINCE VOUR ACTIONS WILL
HAVE AN ENORMOUS IMPACT ON FUTURE GENERATIONS (WHO ALSO
NEED FUEL), VOU HAVE AT VOUR DISPOSAL A COMPUTER SIMULA¬
TION OR MODEL OF THE U. S. POWER GENERATION SVSTEM.
THE MODEL WILL ASK FOR VOUR DECISIONS ON NEW GENERATING
CAPACITV EVERV 5 VEARS AND THEN GIVE VOU THE RESULTS OF
VOUR DECISIONS.
VOU MAV RUN THE MODEL FOR 25 TO 100 VEARS.
HOW MANV VEARS? 58
NOW CALCULATING 5-VEAR FUEL USAGE
RESULTS FOR 1971
Capacity Usage Usage (%
Fuel (Million kw) (Billion k wh) of Capacity)
F$(1) c(1) u(1) p
F$(2) c(2) u(2) p
etc.
Now, finally, you’re ready to write the
program. If you’ve done the previous
steps thoroughly, the writing of the
program will be trivial (well, perhaps
not trivial, but at least straightforward).
It’s probably good practice to write the
program in sections. Worry about the
calculations section first. If you can
hack through that, the other sections
will fall nicely into place. While you’re
doing the calculations section, jot
down the variables that will have to be
set in other sections like initial con¬
ditions or user input.
Use comments liberally throughout
your program. You’ll be glad you took
the time when you start to debug the
program or even look at it a few weeks
later.
Add some elements to keep the
program interesting to the user. If a
value gets out of control, don’t just
print a message but try to describe the
impact of that value. For example,
instead of printing:
RESERVE POWER MARGIN = 12%
the user will learn more and be more
interested if you print something like
this:
YOUR MARGIN OF RESERVE
POWER IS ONLY 12%. THERE HAVE
BEEN NUMEROUS BROWNOUTS
AND YOUR SUCCESSOR IS
ABOUT TO BE APPOINTED
UNLESS THERE IS A DRASTIC
IMPROVEMENT.
Look over the power-generation
program. Not for the specifics of how it
works, but rather note the liberal use of
comments, its division into sections,
and explanations to the user.
Writing The User’s Guide
Most simulations are of sufficient
complexity that all the necessary
background information cannot be
included in the computer instructions
in the program. Even with the simplest
simulations, additional background
information and suggested readings
for further pursuit of the topic are
desirable for the student to have in
hand. The user’s guide need not be
long but it should include the follow¬
ing:
A. User Section
1. A brief description of the event,
system, or apparatus being simulated.
2. Instructions for running the pro¬
gram and a sample run.
3. Questions, exercises, and/or ac¬
tivities to do with the program output.
These should be as open-ended as
possible, consistent with the student
fulfilling your learning objectives.
CAPACITV
USAGE
USAGE (X
(MILLION KW)
(BILLION
KWH)
OF CAPACITV)
167
667
50
200
87
348
7
28
56
224
367
1466
79. 9
FUEL COST
TOTAL FUEL $
REMAINING FUEL
PER 1000 KWH
(MILLION
$>
(X OF 1966)
3. 71
2477
99. 65
15. 40
3077
88. 04
4. 36
1516
89. 45
3. 72
104
99. 97
0. 50
112
70. 53
4. 97
7285
CAPACITV
USAGE
USAGE (X
(MILLION KW)
(BILLION
KWH)
OF CAPACITV)
217
867
50
200
87
348
57
228
66
264
477
1906
79. 9
FUEL COST
TOTAL FUEL $
REMAINING FUEL
PER 1000 KWH
(MILLION
*)
(X OF 1966)
3. 47
3011
99. 46
14. 41
2878
84. 74
4. 08
1418
87. 07
3 48
792
99. 74
0. 50
132
65. 26
4. 32
8230
FUEL
COAL
OIL
GAS
NUCLEAR
HVDRO
TOTAL
FUEL
COAL
OIL
GAS
NUCLEAR
HVDRO
TOTAL
FUEL
COAL
OIL
GAS
NUCLEAR
HVDRO
TOTAL
EST. DEMAND FOR ELECTRICITV IN 1976 IS 1905. 8 BILLION KWH
GENERATING CAPACITV IN 1971 IS 367 BILLION KW.
DESIRABLE GENERATING CAPACITV IN 1976 IS 476. 45 BILLION KW.
AMOUNT OF NEW CAPACITV TO BE ADDED IN NEXT 5 VEARS (BILLION KW)
COAL ? 50
OIL ? 0
GAS ? 0
NUCLEAR ? 50
HVDRO ? 10
NOW CALCULATING 5-VEAR FUEL USAGE
RESULTS FOR 1976
FUEL
COAL
OIL
GAS
NUCLEAR
HVDRO
TOTAL
EST. DEMAND FOR ELECTRICITV IN 1981 IS 2477. 54 BILLION KWH
GENERATING CAPACITV IN 1976 IS 477 BILLION KW
DESIRABLE GENERATING CAPACITV IN 1981 IS 619.385 BILLION KW.
AMOUNT OF NEW CAPACITV TO BE ADDED IN NEXT 5 VEARS (BILLION KW)
COAL ? 60
OIL ? 0
92
CREATIVE COMPUTING
GfiS ? 8
NUCLEAR ? 50
HVDRO ? 15
NOW CALCULATING 5-VEAR FUEL USAGE
RESULTS FOR 1981
CAPACITV
USAGE
USAGE <x
FUEL
(MILLION KW>
(BILLION KWH>
OF CAPACITV>
COAL
277
1140
OIL
50
206
GAS
87
358
NUCLEAR
107
440
HVDRO
81
333
TOTAL
602
2478
82. 3
V0UR MARGIN OF RESERVE CAPACITV IS 0NLV 1
7 X
LEADING
TO NUMEROUS BROWNOUTS.
V0UR SUCCESSOR IS ABOUT TO
BE APPOINTED UNLESS THERE IS
DRAMATIC
IMPROVEMENT IN THE
NEXT 5 VEARS.
FUEL COST
TOTAL FUEL S
REMAINING FUEL
FUEL
PER 1000 KWH
(MILLION $>
(X OF 1966)
CQAL
3. 25
3702
99. 22
OIL
13. 47
2772
81. 60
GAS
3. 82
1366
84. 81
NUCLEAR
3. 25
1432
99. 14
HVDRO
0. 50
167
57. 37
TOTAL
3. 81
9439
EST. DEMAND FOR ELECTRICITV IN 1986 IS 3220.8 BILLION KWH
GENERATING CAPACITV IN 1981 IS 602 BILLION KW.
DESIRABLE GENERATING CAPACITV IN 1986 IS 805.201 BILLION KW.
»
(Output for Period 1986-2011 is not shown)
RESULTS FOR 2016
CAPACITV
USAGE
USAGE (X
FUEL
(MILLION KW>
(BILLION KWH>
OF CAPACITV>
COAL
3274
13095
OIL
50
200
GAS
87
348
NUCLEAR
287
1148
HVDRO
189
756
TOTAL
3887
15546
80. 0
FUEL COST
TOTAL FUEL $
REMAINING FUEL
FUEL
PER 1000 KWH
(MILLION $>
(X OF 1966>
COAL
2. 03
26614
93. 44
OIL
8. 43
1686
64 80
GAS
2. 39
831
72. 72
NUCLEAR
2. 04
2336
86. 04
HVDRO
0. 50
378
0. 53
TOTAL
2. 05
31845
SUMMARV
RESULTS — 1966 TO
2016
TOTAL ELECTRICITV GENERATED
' * 359261 BILLION KWH.
AVERAGE
PERCENT OF CAPACITV
’ IN USE * 80. 3055
50 VEAR FUEL
. COST SUMMARV:
TOTAL COST = S 809391
MILLION
AVERAGE
COST PER VEAR
* S 16187. 8
AVERAGE
COST PER 1000
KWH * $ 2. 25293
RESERVES
RESERVES
FUEL
IN 1966
IN 2016
COAL
832
777. 45
BILLION TONS
OIL
50
32. 3996
BILLION BARRELS
GAS
700
509. 022
TRILLION CU FT
NUCLEAR
1 05
. 903427
MILLION TONS
HVDRO
190
190
MILLION KW
FUEL
X REMAINING OF 1966 RESERVE
COAL
93. 4436
OIL
64 7992
GAS
72. 7175
NUCLEAR
86. 0407
HVDRO
1
READV
B. Description Section
1. Reprints or summaries of articles
or information about the vent being
simulated.
2. Background data and its source.
3. Key assumptions and their ra¬
tionale.
4. Short bibliography for further ref¬
erence.
C. Computer Section (optional)
1. Program listing.
2. Flowchart.
References — Computer Simulations
1. Ah I, D.H., (Ed.), 101 BASIC
Computer Games, Maynard, MA:
Digital Equipment Corporation,
1973.
2. Allen, L.E., Allen, R.W., & Ross, Jr.,
“The Virtues of Nonsimulation
Games.” Simulation and Games,
1970, 1, 319-326.
3. Boocock, S.S., & Schild, E.O.
(Eds.), Simulation Games in
Learning. Beverly Hills, CA: Sage,
1968.
4. Braun, L., “Digital Simulation in
Education.” J. Educational
Technology Systems, 1972, 1,1,
5-27.
5. DeVries, D.S. & Edwards, K.J.,
“Learning Games and Student
Teams: Their Effects on Classroom
Process.” American Education
Research Journal, 1973, 10,
307-318.
6. Edwards, K.J., DeVries, D.L., &
Snyder, J.P., “Games and Teams:
A Winning Combination.”
Simulation and Games, 1972, 3,
247-269.
7. Fletcher, J.L., “The Effectiveness
of Simulation Games as Learning
Environments.” Simulation and
Games, 1971, 2, 425-454.
8. Inbar, M., “Individual and Group
Effects on Enjoyment and
Learning in a Game Simulating a
Community Disaster.” In S.S.
Boocock & E.O. Schild (Eds.),
Simulation Games in Learning.
Beverly Hills, CA: Sage, 1968, pp.
169-190.
9. Pate, G.S. & Parker, H.A., Jr.,
Designing Classroom Simulations,
Belmont, CA: Fearon, 1973.
10. Spencer, D.D., Game Playing With
Computers. New York: 1 Spartan
Books, 1968.
References — Electric Power
1. “Power Industry Statistics for
1971. ” Electrical World, Sept. 15,
1972.
2. Questions and Answers About the
Electric Utility Industry, Edison
Electric Institute, 1973. ■
JAN/FEB 1978
93
Computer Education
at Lawrence Hall
by Robert Kahn
Lawrence Hall of Science at the University of California
— Berkeley is a center in science education for the general
public, for young children, for everyone. We're developing
curriculum; we have a traveling van going around the
northern Bay Area taking educational materials to teachers;
we have a planetarium; we have public science education;
we have an enrichment center, and we have computer
activities.
Our computer activities are now far and away the largest
single public-access project at the Lawrence Hall of Science.
We have a time-sharing service which started out with one
small Nova; now we have the capacity to handle approxi¬
mately 100 terminals.
The heart of our system is a Data General NOVA
modified by a company named Decision, in Berkeley, with
a capacity of 60 simultaneous uses. We also have a
Hewlett-Packard 2000B and we have the first production
model of the Hewlett-Packard 3000.
Almost everything we're doing is in BASIC and in our
version of PILOT, which we call NYLON. One of our major
projects is collecting educational programs and putting
Lawrence Hall
of Science
presents
COMPUTER
EXPO
them together in a documented format. We have a whole
book describing the programs that we have available in our
program library, and we're continuing to collect new ones.
We have thirty outside users on our system, mostly
schools. We are running an educational time-sharing
service where the costs are very low in terms of general
time-sharing costs.
Here are some of the things that are going on at the
Lawrence Hall of Science, to give you a flavor of all the kinds
of computer activities there.
The Computer Education Project is run by students, like
myself, from the Berkeley campus. These students are both
graduates and undergraduates and they teach classes to
children, run workshops, develop course materials, and do
other related things.
The computer project atthe Hall has three objectives. The
first objective is to educate adults and children about
computers. We are following in the mold as Darmouth but
on a very much smaller scale. The idea is to introduce
people to the computer as a tool, and allow them to do
what they want to do on it. We want them to know what
computers can do and how people might be able to use
them. We're not quite so concerned with presenting
curriculum via the computer for use in instruction. The
second goal is to offer what we call"low-cost computing"to
the public. We want to provide a place where people can
come and use the computer, while keeping the cost down.
We have a policy that when we're not using our computer
rooms, we open them to the general public for Ibi an
hour—what we call public computing time. It's like going to
the movies. You buy a ticket at the front desk when you
enter the Hall, and you spend your hour playing games,
writing programs, drawing pictures, or whatever you want.
This goes for anybody, kids or adults, college students from
Berkeley, professors, anybody that wants to. But we cannot
afford to provide long-term storage with this policy. The
public account has a small amount of disk space available,
but we wipe this space clean each week.
We have a school visitation program where about 400
Bay Area children come to the Lawrence Hall of Science
every week, all year long. The program is booked for a year
ahead. It's a field-trip program with five activities. The
computer is one. The computer activity consists of a set of
six games, purposely selected to be diverse in strategy,
concept, and difficulty. As many as three children share
each terminal. A monitor program asks the children for
their first names and then proceeds to rotate the game
going from child to child by telling each child when it is his
or her turn and asking what game he/she wishes to play.
This program also keeps a record of the age and sex of each
child, of which games the child chose to play, and for how
long. These data help us to find out which games are most
popular with students of a given age and sex, and we can
then make necessary changes and modifications in the
program.
In the past year we have hosted several special activities.
For example, we hosted a Bay Area Computer Fair in
which junior and senior high school students from all
Contests
ENTER OUR CONTESTS AND WIN MON¬
STER POSTERS, BOOKS, SUBSCRIPTIONS,
AND LHS MEMBERSHIPS. CONTESTS WILL
BE HELD IN PROGRAMMING, LOGIC
GAMES, TAPE WINDING, AND MAZES
94
CREATIVE COMPUTING
around the San Francisco Bay Area came up to the Hall to
play games and write programs, for three days in Septem¬
ber. Many vendors were also present at the Fair, displaying
their latest advances in hardware.
The Hall of Science has a public area (like a science
museum) on its topmost level. We have placed four CRT
terminals there that are free to use for anybody who has
already been admitted to the Hall.
We've pre-programmed these CRT terminals with a
variety of computer activities. One CRT had the ELIZA
Program -- one of our staff re-wrote Weizenbaum's ELIZA
Program to run on our Decision Computer, and this
program has been a favorite with the public. During the
past two months, we havetemporarilyreplaced ELIZA with
a program that simulates the path of a comet. You control
various input parameters such as initial position, speed, and
distance from the sun, and the computer plots the path of
your comet.
Two other CRT terminals are programmed to play our
most popular games. The fourth one controls a tone box
that we constructed. The tone box consists of a set of
twelve oscillators, on which you can - similar to the
Dartmouth music generator - type in a set of notes and the
computer will play back your music. We have several
programs to allow you to compose music, and if you
compose a song that you really like, we'll put it in the
library of songs. Note that these activities are all free to the
general public, once they are admitted to the Hall of
Science.
Films
A VARIETY OF FILMS WILL BE SHOWN
THROUGHOUT THE FOUR-DAY FAIR
INCLUDING:
COMPUTERS: CHALLENGING MAN'S
SUPREMACY
COMPUTER ANIMATION
COMPUTERS AND HUMAN BEHAVIOR
RIGHT OF PRIVACY
ROBOTICS: ISAAC ASIMOV'S (CLANK!
CLANK!) ARTIFICIAL MAN and many
more . . .
In the afternoons and on Saturdays we offer courses
about computers for children and adults. We developed a
course for younger children, eight, nine, and ten years old,
called "Creative Play with the Computer." It is an
introductory course in which we encourage them to play
games on the teletypes, use our Tektronix 611 storage
scope (driven by a NOVA), our Hewlett-Packard 7200A
plotter, driven in BASIC by any of the computers, and the
tone box. The aim is to give them a general introduction to
the kinds of things that computers can do. Some of the
children are sharp enough to go on to doing a little bit of
PILOT programming at the end of this course. Many come
back for other courses.
None of these projects could function if it weren't for
the fact that we have a committed and dedicated staff from
Computer Sciences and other departments who work half
time and often put in more time on their own.
We also have a course that we call "Computer Theory,"
General Public
Unlimited computer time
Demonstrations on homemade computers,
voice synthesizers, and calculators
tor children who really want to know more about com¬
puters than programming, who want to know how the
computer works. This quarter, we're also offering a course
for adults in the Berkeley area. Because their children were
taking courses, the parents became interested, so we
thought we could also do something for adults.
The adult course is structured along the lines of Creative
Play with the Computer. In many cases, adults are much
more afraid of the machine than are children. Many adults
have misconceptions about computers which the course
attempts to dispell while providing a positive, hands-on
experience.
During the past year, another thing has been happening:
We've been getting calls - as many as about three a day -
from schools around the Bay Area, as they learn about our
programs. Often it's a matter of a teacher wanting to bring
a class of thirty students for one visit to our computer lab.
But several teachers have been interested in starting a
program where they can bring their class to the Hall once a
week for one or more eight-week sessions. In these classes,
the Hall becomes an extended classroom for the schools.
The word is out that we teach BASIC programming, and
many of the teachers want to integrate programming into
their curriculum.
These classes work out very well because we have a
group of students that is pretty much homogeneous,
coming from one school (unlike the classes on Saturday) to
the Lawrence Hall of Science. One of our staff meets with
the teacher each week to plan the week's lesson, and the
students take what they learn back to the classroom. So we
achieve a dialog going back and forth between the Hall and
the classroom. We now have twelve of these classes, which
is as many as we can handle.
Finally, we are now providing, as I said, the beginning of
a campus time-sharing service, and little by little we're
starting to hear from various departments around the
Berkeley campus. The Biology 1 program is one example.
For that course, we provide computer time, teacher
training, and programs. Our staff spent three Monday nights
training the TAs in the Biology 1 course to get them ready
for the 600 students who were to use simulation programs
as part of their coursework in Biology 1. We also provide
the programming expertise needed to get all of the
simulation programs checked out and running. For a
Division course taught by Charlie Bass in the Computer
Sciences they merely rented terminals from us. Also,
Charles Woodson has offered a course in the School of
Education on computer-based instruction, using our
computers. He has two terminals in the School of
Education and expects to get more.
So, little by little, we have been backing into becoming
the campus time-sharing service. There were some campus
problems with this situation at first, but these problems are
being worked out, and more and more people are starting
to call from the campus. So, we are promoting the type of
computer service that Dartmouth has - only on a smaller
scale. We have a similar setup, using the same language.
We're riding a tide of high activity at this point. Things are
going so fast that we haven't had time to stop, evaluate, and
look ahead. We are just trying to keep up with the growing
demand for our service. ■
JAN/FEB 1978
95
A
New
Fast
Sorting
Algorithm
How to sort extremely fast with a minimum of
comparisons, and a minimum of programming
steps between comparisons.
Richard Hart*
The speed or efficiency of an internal
sorting algorithm is directly related to
the number and complexity of
programming steps which are actually
executed during its operation. Because
all the items being sorted must be
compared to one another to place them
in order, programmers have realized
that by making certain intelligent
comparisons, the total number of
comparisons executed in an algorithm
may be reduced to a theoretical
minimum.
This article starts with the theory
described by Luther J. Woodrum in the
IBM Systems Journal and describes an
algorithm that not only uses a minimal
number of comparisons, but also
executes a minimal number of
programming steps between each
comparison.
The algorithm was written to use as
few comparisons as possible, to have
as few steps between each comparison
as possible, to take advantage of
natural sequencing, to preserve the
order of equals (or even the reverse
order of equals), to avoid moving
records around, to use as little memory
as possible (one working array), and to
be a modular, easily understood
program written in BASIC.
29 Concord Ave., Apt. 609, Cambridge, MA 02138
Fig. 1. Tree number 19, with 19 leaves and nearly equal branches.
96
CREATIVE COMPUTING
Fig. 2. Woodrum’s algorithm for sorting N records with minimal comparing: follow the tree structure and
merge nearly equal linked lists on the way down the branches.
The Forest.
The theory behind the algorithm may
be described in a language of forests,
trees, branches, twigs and leaves.
There is a forest filled with trees of
different sizes. The smallest tree has
one leaf and the largest has no more
leaves than fit into the memory of a
computer. Each tree is very orderly.
The trunk of a tree splits into two
branches of nearly the same size. If one
branch is larger than the other, it is
always the right-hand branch. Similar¬
ly, each branch divides into two more
branches until the branches become
twigs from which leaves grow. Figure 1
is a picture of tree number 19, which
has 19 leaves.
Each tree in the forest is almost a
binary system of its own, but the
leaves are wildly disarrayed. They have
different colors, different shapes,
different sizes, different ages and
different fates. Luckily the leaves of any
particular tree, even the largest, can fit
into the memory of a computer where
they can be arranged by color, by
texture, or by intelligence, and shipped
to any part of the world.
The Mouse.
Even though the computer usually
thought about everything in two ways,
it worked well in the forest. It had
evolved from the Boolean logic of
electrical engineering into a tiny,
nearsighted mouse. She could do
anything. She could climb the trees,
jump from twig to twig; she could think
like a calculator and even read, one
letter at a time.
If someone in the outside world
thought that the leaves of a particular
tree were ripe and wanted them arrang¬
ed by taste (from sweet to sour to
bitter) and mailed to his home, the
mouse would begin her work. The
mouse liked the forest. Most people
only saw the wildly disarranged leaves
on the outside, but on the inside, the
trees and leaves were arranged
perfectly for the mouse.
One day the mouse was idling by the
edge of the forest, thinking yes and no,
when a secretary from IMOK telephon¬
ed to say that he would like the leaves
from tree 19 arranged alphabetically by
color, xeroxed and sent to his office. He
mentioned that each leaf’s exact color
was printed on the leaf exactly two
inches from the tip. This was especially
helpful information for the mouse
because even though she was a whiz
with digits and knew her ABC’s, she
was color-blind.
JAN/FEB 1978
97
The mouse began to work. She
calculated her course and started
along toward tree 19. She was thinking
nothing at all.
The Spider.
Deep in the forest, at the entrance to
a cave, was a spider who was by
profession a computer programmer.
Strange as it may seem, he hardly ever
saw the mouse, but by looking deep
into the cave he would imagine where
the mouse might be. Occasionally he
would turn around and glimpse the
forest. In a single instant he would
imagine it was his own forest, that the
binary trees were his as was the mouse.
Then he would turn back into his cave
and write computer programs.
One day the spider read a modest
article by Luther J. Woodrum in the
IBM Systems Journal, Vol. 8, No. 3,
1969, called “Internal sorting with
minimal comparing.” The Woodrum
algorithm was written in APL, a foreign
language, but the spider liked sorts so
hetranslatedthealgorithm into BASIC,
his native language.
Then he noticed two surprising
things: The Woodrum sort was faster
than the Shell sort and was also the
same procedure he had seen the
mouse go through time after time in the
forest..
The mouse would start on the left-
hand side of a tree and climb until she
reached the lowest branch; she would
climb out that branch until she reached
the left-most leaf. Then she would
climb from leaf to leaf, looking at each
one and writing something on an
adding-machine tape. So the mouse
was creating linked lists and merging
them! The trees here were perfect for
balanced merges! Every time the
mouse climbed up a branch she would
be figuring out what to do. Then on the
way down to the next branch she wou Id
be merging the leaves and branches
she had left behind. Figure 2 shows the
path the mouse was following to sort N
records (19 in this case) with a
minimum number of comparisons.
With a new understanding the spider
watched the mouse for three years
climbing the different trees, setting up
linked lists of length 1 at each leaf, and
allowing the tree structure to create
balance merges. It had occurred to the
spider in the beginning that it would be
easier for the mouse to jump from leaf
to leaf rather than to follow the limbs
around. He had mentioned this to the
mouse and the mouse had tried it,
gamely enough. But the mouse
couldn’t see the tree structure below so
she had ended up with 19 linked lists of
length 1 and none of them merged.
Tree
number
Number of
low-order twigs
Twig list
1
2
1
EXIT
2
3
1
3
4
2
2 2
5
1
2 3
6
2
3 3
7
1
3 4
8
4
2 2 2 2
9
3
2 2 2 3
10
2
2 3 2 3
11
1
2 3 3 3
12
4
3 3 3 3
13
3
3 3 3 4
14
2
3 4 3 4
15
1
3 4 4 4
16
8
2222222 2'
17
7
22222223
18
6
22232223
2-leaf twigs
19
5
22232323
» and
20
4
23232323
3-leaf twigs
21
3
23232333
22
2
23332333
23
1
23333333
24
8
3333333 31
25
7
33333334
26
6
333*4 3 3 3 4
' 3-leaf twigs
27
5
3334343 41
^ and
28
4
3434343 4/
4-leaf twigs
29
3
34343444
30
2
34443444
31
1
34444444,
32
16
2222222222222222
33
15
2222222222222223
Fig. 3. Trees are composed of 2-leaf and 3-leaf twigs or else 3-leaf and 4-leaf twigs. Within one of these
tree groups, new high-order twigs appear in a reflected binary pattern.
Counter
1 2 4
Mirror
image
value
Number
of
carries
Tree 19
Generate
and Merge
0 0 0
0
2-twig
0 branches
0 0 1
4
0
2-twig
1 branch
0 1 0
2
1
2-twig
0 branches
0 1 1
6
0
3-twig
2 branches
1 0 0
1
2
2-twig
0 branches
1 0 1
5
0
3-twig
1 branch
1 1 0
3
1
2-twig
0 branches
1 1 1
7
0
3-twig
3 branches
3
Fig. 4. The binary counter provides all the necessary information for merging. The reflected value
determines how many new leaves to generate and the tally of carries indicates the number of additional
branches to merge.
This table shows the correspondence between a reflected binary counter and the sequential merging
that occurs in tree 19. The cutoff value for tree 19 is 5 (from Fig. 3). If the “mirror-image” counter is
below 5, generate a 2-twig; otherwise generate a 3-twig.
98
CREATIVE COMPUTING
Position
Unsorted
records
Array L
Before
1st
merge
Before
2nd
merge
'Before
3rd
merge
Before
4th
merge
Before
last
merge
Before
last
merge
T
violet
r
1
1
1
1
18
2
indigo
2*
1
1
3
3
15
3
orange
3*
4
4
6
6
4
jDurple
4*
4
1
5
5
5
red
5*
1
16
6
pink
6*
4
4
7
blue
8
8
8
brown
9
11
9
green
2
10
10
grey
15
2
11
carmine
17
17
12
yellow
12
12
13
olive
16
3
14
black
11
7
15
infrared
13
13
16
rust
18
1
17
crimson
10
9
18
white
12
12
19
amber
14
14
(20)
r
2
2
2
7
19
(21)
2*
3*
3
5*
19
(22)
4*
6*
(23)
(24)
The starred sequences are newly generated lists one record long
(new leaves).
Fig. 5. Snapshots of linked lists during execution of the algorithm. The last column shows the final
linked list that begins at position N+1 in array I: (20) 19 14 7 8 11 ... Each location
shows the value of the next location except that the last location points to itself.
'A/S
^CREATIVE COMPUTING
“He can’t stand the sight of oil.”
The spider busied himself with other
things: he visited other forests with
fibonacci trees and even pure binary
trees, but most of these trees had an
extra branch sprouting from the side to
hold leftover leaves. These trees
weren’t so good for sorting. His own
mouse always came closest to sorting
with a theoretical minimum number of
comparisons.
The Insight.
One day the spider glanced out of his
cave long enough to see something
curious about the trees in his forest. He
didn’t know exactly what he saw so he
asked the mouse to give him a twig list
for trees 1 through 33. (A twig is
composed of 2, 3 or 4 leaves). He
wanted to see all the twigs at the exact
altitude where the leftmost twig was
less than 4 leaves; see Figure 3.
The spider noticed that this left-most
twig was always a low-order twig and
that the total number of twigs at that
altitude was always an even binary
number. There were two fundamental¬
ly different kinds of trees: those with 2
and 3 twigs and those with 3 and 4
twigs.
Now as the spider looked from one
tree to the next higher tree (look at
trees 16 through 23), he noticed that
the high-order twigs sprouted first
from each half of the tree, then from
each remaining quarter and soon, until
all but the first twig was a high-order
twig. The spider immediately realized
he could use this binary pattern to help
the mouse.
At just this moment, the mouse was
on her way to tree 19 to arrange the
leaves for the secretary from IMOK.
The spider picked up a mirror and
met the mouse at the tree. Then the
spider told the mouse what to do:
1. Before you climb the tree,
calculate what the low-order twig will
be. (For tree 19, it’s a 2-twig, the first
left-most twig containing fewer than
four leaves).
2. Calculate how many of these
twigs will be at that altitude. (5).
3. Calculate the total number of
twigs at that altitude; this total will
always be an even binary number and
will determine the size of the binary
counter in the next step. (8).
4. Take a binary counter that
counts from 0 to 7 and this.mirror.
Climb the tree to the left-most twig and
set the counter to 0. Then proceed to
leap from twig to twig and increase
your counter by 1 each time you leap.
Look at the counter in the mirror and if
that mirror-image value is less than the
number of low-order twigs (5), create
linked lists for a 2-leaf twig; otherwise
create linked lists for a 3-leaf twig.
JAN/FEB 1978
99
So once again the mouse followed
the spider’s instructions; she leaped
from twig to twig and wrote on an
adding-machine tape. Then the mouse
climbed down the right side of the tree
and showed the spider what had
happened. The leaves had all been
merged into 8 twigs and the binary
counter had provided some more
unexpected information!
The mouse had noticed that the
counter had clicked every time it
carried a digit. The number of these
clicks corresponded exactly to the
number of merges needed below the
previous twig to merge twigs or
branches into larger branches. Now
the mouse could easily figure exactly
how many leaves were above the twig
and how many branches were below
the twig without leaving the twig! See
Figure 4.
So the spider changed his algorithm
to use the previous twig, combined all
the working arrays into one, and
created a beautiful butterfly merge to
combine leaves into twigs, twigs into
branches and branches into one final
linked list starting at position N+1. In
the end L(N+1) points to the first leaf;
Fig. 7. This is the new sorting algorithm. Array L must have room for N+LOG2(N)+2 elements. The
algorithm uses a minimal number of comparisons and a minimal number of steps between each
comparison.
100 DIM NO000)
110 PRINT "SORT HOW MANY RANDOM NUMBERS”;
120 INPUT N
130 FOR I = 1 TO N
140 LET N(I) = INT(RND(0)*10000+1)
150 NEXT I
160 !
170 !
180 REM ENTRY
190 DIM L(1011) !LINKS: N+LOG2(N)+2 ELEMENTS
200 LET K1,I,M1,T2,T4 = 0
210 LET J = N+1 !HEAD OF SEQUENCE 1
220 LET L(1),L(J),K2 = 1
230 IF N <= 1 THEN 940 !EXIT; NOTHING TO SORT
240 LET SI = N !NUMBER OF LEAVES
250 REM CLIMB THE TREE
260 IF SI < 4 THEN 320 !L0W-0RDER TWIG VALUE
270 LET K2 = K2*2 ITOTAL NUMBER OF TWIGS
280 LET B2 = SI/2
290 LET SI = INT(B2)
300 LET T4 = T4+(B2-S1)*K2
310 GO TO 250
320 REM INITIAL CALCULATIONS
330 LET T4 = K2-T4 !NUMBER OF LOW-ORDER TWIGS
100
CREATIVE COMPUTING
340 LET E32 = K2/2 !HIGH BIT VALUE OF BINARY COUNTER
350 REM NEXT TWIG
360 IF K1 = K2 THEN 940 ! EX IT; SORT COMPLETE
370 LET K1 , T1 = K1 + 1 !TWIG NUMBER
380 LET B1 = B2 ! HIGH BIT VALUE
390 LET T3 = T2 'PREVIOUS REFLECTED TWIG NUMBER
400 REM ADD 1 TO REFLECTED BINARY COUNTER AND CARRY
410 LET T1 = T1/2
420 IF INT(TI) < T1 THEN 470 !N0 MORE CARRIES
430 LET Ml = M1 +1 !NUMBER OF MERGES
440 LET T2 = T2-B1
450 LET B1 = BI/2 INEXT BIT VALUE
460 GO TO 400 ICARRY ONE
470 REM TWIG CALCULATIONS
480 LET T2 = T2 + B1 ! REFLECTED TWIG NUMBER
490 IF SI = 2 THEN 550 !2-TWIGS AND 3-TWIGS
500 REM 3-TWIGS AND 4-TWIGS
510 IF T3 < T4 THEN 560 .'LOW-ORDER TWIG (3-TWIG)
520 REM 4-TWIG
530 LET Ml = -Ml 'DIS-ENGAGE NUMBER OF MERGES
540 GO TO 630
550 IF T3 < T4 THEN 610 !LOW-ORDER TWIG (2-TWIG)
560 REM 3-TWIG
570 LET Ml = M1 +1 !NUMBER OF MERGES
580 LET I = 1+1 !NEXT LEAF
590 LET L(I) ,L(J) = I !GENERATE A LEAF
600 LET J = J+1 INEXT SEQUENCE HEAD
610 REM 2-TWIG
620 LET Ml = M1 +1 .'NUMBER OF MERGES
630 LET I = 1+1 INEXT LEAF
640 LET LI,L(I) ,L(J) = I IGENERATE A LEAF
650 LfcT LO = J !HEAD OF OLDER LEAF (LAST LINE)
66C LET J = J+1 !HEAD OF LATEST LEAF (NEXT 2 LIMES)
£>70 LET I = 1 + 1 INEXT LEAF
680 LET L2,L(I) ,L(J) = I IGENERATE A LEAF
690 GO TO 750 !MERGE LEAVES
700 REM MERGE TWIGS AND BRANCHES
710 LET J = J-1 !HEAD OF LATEST BRANCH OR TWIG
720 LET LO = J-1 !HEAD OF OLDER BRANCH OR TWIG
730 LET LI = L(LO) !HEAD QF SEQUENCE 1
740 LET L2 = L(J) !HEAD'OF SEQUENCE 2
750 IF N(L1) <= N(L2) THEN 820 !STAY IN SEQUENCE 1
760 LET L(LO) = L2 !SWITCH TO SEQUENCE 2
770 LET LO = L2 !TOP LEAF IN SEQUENCE 2
780 LET L2 = L(LO) !NEXT LEAF IN SEQUENCE 2
790 IF L2 = LO THEN 870 JENDOF SEQUENCE 2
800 IF N(L1) > N(L2) THEN 770 !STAY IN SEQUENCE 2
810 LET L(LO) = LI SSWITCH TO SEQUENCE 1
820 LET LO = LI !TOP LEAF IN SEQUENCE 1
830 LET LI = L(LO) !NEXT LEAF IN SEQUENCE 1
840 IF LI <> LO THEN 750 !NOT END OF SEQUENCE 1
850
860
LET L(LO) = L2
GO TO 880
!SWITCH TO SEQUENCE
2
870
LET L(L0) = LI
!SWITCH TO SEQUENCE 1
880
LET Ml = MI-1
!NUMEER OF MERGES
890
IF Ml > 0 THEM
700
900
IF Ml r 0 THEN
350
910
REM GENERATE
2ND HALF OF A 4-TWIG
920
930
940
LET Ml = 1-MI
GO TO 630
REM EXIT
!RE-ENGAGE NUMBER OF
MERGES
950
960
970
LET LO = N+1
t
i
!FIRST LINK IN SEQUENCE
1000
*FOR I = 1 TO
N
1010
1020
1030
1050
LET LO = L(LO) JFOLLOW LINKS
PRINT N(LO );
NEXT I
END
L(L(N+1)) points to the second,
L(L(L(N+1))) points to the third, and
the last link points to itself. See Figure
5.
The Butterfly Merge.
Two things happen as the mouse
jumps from twig to twig. The leaves
above the mouse get merged into the
twig and the twigs and branches
behind the mouse get merged into
larger branches. The butterfly merge
treats each merge the same way. The
heads of each sequence are kept at
positions N + 1 , N + 2, . . . ,
N+INT(LTW(N)+2) after the links
themselves, which are kept in positions
1, 2, . . . , N of array L.
The merge takes the last two se¬
quences in the list and combines them
into one. One wing of the merge
follows sequence 1 and the other
follows sequence 2. The two are
interwoven until the final link points to
itself. Because the heads of each
sequence are kept in the same array
with the links themselves, the merge is
extraordinarily fast. After each merge,
the stack of sequence heads has been
reduced by one.
Generating Leaves.
Each time the mouse reaches a new
twig, she generates new sequences
one item long to correspond to the
leaves of that twig. A two-leaf twig is
produced by creating two one-item
sequences, each pointing to itself.
Then these two leaves are merged
once. A three-leaf twig is created from
three one-item sequences merged
twice. A four-leaf twig is merged from
two two-leaf twigs: The first two-leaf
twig is generated and merged once;
then the number of remaining merge
passes is set to a negative number so
that the merge will be disabled until the
second two-leaf twig is generated and
merged with the first.
After each complete twig has been
generated, merging continues until the
branches behind the mouse have been
linked together. Then the mouse jumps
to the next twig, generates new leaves
and lets the butterfly merge fly by
again.
Now the mouse follows this
procedure all the time. After the spider
watched the mouse a few times, he
turned into his cave and forgot. But
every now and then sunlight shines
through the leaves of the forest,
reflects from the mouse’s mirror and
flashes deep into his cave. See Figures
6 and 7. ■
JAN/FEB 1978
101
The Contributions of Edsel Murphy
to the Understanding
of How the Behavior of Inanimate Objects
Affects
Computing, Computing Devices and
Computer Science.
A Report to Dr. Robert Cupper
University of Pittsburgh
Computer Science Department
by John P. Breen
illustrated by Bob Heman
Abstract
Edsel Murphy’s contributions toward understanding the
behavior of inanimate objects as they relate to Computer
Science is discussed. Murphy’s General Law, Special Laws
and their corollaries are presented, with supportive examples.
I. Introduction
Although most Computer Scientists are aware of the
varied manifestations of Edsel Murphy’s General and Special
Laws governing the behavior of inanimate objects, few of us
have studied these laws in detail. This oversight is un¬
doubtedly another manifestation of the General Law.
In this paper, the author intends to show the all pervasive
nature of Mr. Murphy’s work by formal statement of the
Laws and Corollaries and by presenting examples of special
applications in the discipline of Computer Science.
II. The Nature of the General Law
Any concept or interdependency can be represented as a
form, i.e. a function as a graph, or a more complex relation¬
ship as a topological surface. Consequently processes, per
se, can be thought of as transitions from one steady state form
to another. When the transition is continuous, predictable
and smooth it can be described by classical mathematical
methods. It is seldom the case in nature, however, for these
form evolutions to progress smoothly. Typically, natural
dynamic evolution is abrupt and usually involves perplexing
divergences.
This discontinuous and divergent phenomena resisted
“If anything can go wrong, it will.”
formal mathematical representation for years, until the
recent work of Rene Thom. 1 Thom proved that in a space
having no more than four dimensions (such as the four¬
dimensional time-space relationship found in nature) there
exists just seven types of transformation. Because of the dis¬
continuous and disruptive nature of these transformations, he
termed them the seven elementary “catastrophes”, and the
science they delineate, “catastrophe theory”.
Since Murphy preceeded Thom by several centuries the
inadequacies of contemporary mathematics precluded the
description of his theory in formal mathematic symbolism,
but by calling on catastrophe theory we may not describe the
General Law:
2 : 1+1 ( 1 .)
where : is the catastrophe theory symbol for “hardly
ever is equal to”. In the vulgar, the equation may be stated,
“If anything can go wrong, it will.”
It is probable that the reader has been informally exposed
to the central concepts of the General Law and that equation
1. has therefore struck a respondent chord. In an effort to
solidify the reader’s understanding of the concepts at issue,
especially as they apply to computing, computing devices,
and Computer Science, we shall present the General Law,
the Special Laws and their corollaries in a tabular form.
102
CREATIVE COMPUTING
III. The General Law, the Special Laws
and their Corollaries
A. The General Law of Science
In any field of scientific endeavor, anything that can go
wrong will go wrong.
Corollary 1: Everything goes wrong at the same time.
Corollary 2: If there is a possibility of one of several things
going wrong, the one that will go wrong is the one that will
do the most damage.
Corollary 3: Left to themselves, things will go from bad to
worse.
Corollary 4: Experiments must be reliable; they must always
fail at the same place.
Corollary 5: Nature always sides with the hidden flaw.
Corollary 6: If everything seems to be going well, you have
obviously overlooked something.
B. The Special Laws of Computing, Computing Devices,
and Computer Science.
1. It is generally impractical to worry beforehand about
problems; if you have none, someone will supply them for
you.
Corollary 1: The need to change the basic algorithm will
be communicated to the programmers after, and only after
the coding is complete. 8
Corollary 2: In simple cases, when choosing between two
algorithms, one obviously right and one obviously wrong,
it is often wiser to choose the wrong one so as to expedite
subsequent revisions.
Corollary 3: The more innocuous a modification appears to
be, the further its influence will extend, and the more the
algorithm will have to be changed. 8
Corollary 3a: The necessity of making major changes in an
algorithm increases as the system approaches completion.
Corollary 3b: Firmness of completion date is inversely pro¬
portional to the tightness of the schedule.
Corollary 4: Suggestions made by the systems optimization
committee will increase runtime and decrease capability.
Corollary 5: Any paper submitted to the ACM for publica¬
tion, will be preceded by two weeks by a similar paper
from a member of your department.
2. In any code or collection of data, the elements that are
obviously correct beyond all need of checking, will contain
the error.
2a. In any coded program, the modules which are correct
beyond any shadow of a doubt, are causing the execution
errors.
Corollary 1: No one whom you ask for help will see the error.
Corollary 2: The most nagging intruder who stops with un¬
sought advice, will spot the problem immediately.
Corollary 3: In any miscalculation, the source will never be
found if more than one person is involved. 7
Corollary 4: Any error that can creep in, will; and it will be in
the direction that will do the most damage to the calcula¬
tion.
Corollary 5: All constants are variable. 3
Corollary 6: In a complex algorithm, at least one factor
from a numerator will move into a denominator, and a
decimal point will simultaneously be misplaced.
3. All record of the third law has been lost. During the
preparation of this paper the source material for the third
law was misplaced; another manifestation of Murphy’s Law.
In keeping with the Law, these misplaced documents will be
found on the day this paper is presented.
3a. Rules for Optimizing Software Design with Considera¬
tion given to Murphy’s Laws.
The following precepts are offered to the systems designer
who wishes to optimize his designs according to the Laws
and their implications.
1. Do not simplify the design of a program if a way can be
found to make it complex and wonderful. 6
2. Always keep your disk area filled with obsolete files; it
indicates that you have been busy. 3
3. Before studying a problem, be sure you first under¬
stand it thoroughly. 6 7
4. Do not take luck for granted; believe in it and revere it.
5. When writing program documentation, always leave
room to add an explanation in case the program doesn’t work
(the rule of the way out.)
6. Always use the latest developments in the discipline of
JAN/FEB 1978
103
Computer Science when designing algorithms.
a. Items such as Finagle’s Constant and the more subtle
Bougerre Factor (pronounced “Bugger”), are loosely
grouped, in mathmatics, under constant variables, or if you
prefer, variable constants.
b. Finagle’s Constant, a multiplyer of the zero-order term,
may be characterized as changing the universe to fit the
equation. 2
c. The Bougerre Factor is characterized as changing the
equation to fit the universe. It is also known as the “smooth¬
ing factor”; mathematically similar to the damping factor, it
has the effect of reducing the subject under discussion to
zero importance.
d. Any deficiency in rationalizing a casual relationship can
be eliminated by the introduction of a variable constant of the
invariant type, to wit the Phuje Factor (pronounced “Fudge”).
The value for the Phuje Factor is chosen to fill the gap be¬
tween the real and the imagined. 8
e. A combination of the above three, the Diddle Coef¬
ficient, is characterized as changing things so the universe
and the equation appear to fit without requiring a change in
either.
4. A critical circuit, required to interface devices to the
same manufacturer’s mainframe, will not be available from
the OEM.
Corollary 1: Interchangeable parts, won’t.
Corollary 2: An important Instruction Manual or Operating
Manual will have been discarded by the receiving depart¬
ment.
Corollary 3: All Warranty and Guarantee clauses become
void upon payment of the invoice.
Corollary 4: In any device characterized by a number of
plus-or-minus errors, the total error will be the sum of all
the errors accumulating in the same direction.
Corollary 5: The manufacturer’s specification will be incor¬
rect by a factor of 0.5 or 2.0, depending upon which coef¬
ficient gives the most optimistic value. The salesman’s
claim for these values will be 0.1 or 10.0 respectively.
Corollary 6: The probability of failure of a component, as¬
sembly, subsystem or system is inversely proportional to
the ease of repair or replacement.
Corollary 7: A dropped tool will always land where it will do
the most harm.
Corollary 7a: The most delicate component will drop. (Also
known as Murphy’s Law of Selective Gravitation, this is
proven when a dropped slice of buttered bread lands with
the buttered side down.)
Corollary 8: Device drive motors will rotate in the wrong
direction.
Corollary 9: Dimensions will be given in the least usable
units. Tape velocity, for example, will be given in furlongs
per fortnight.
Corollary 10: A purchased component or instrument will
meet its specification until, and only until, it has passed
incomming inspection.
Corollary 10a: A failure will not appear until a unit has
passed final inspection.
Corollary 11: Interactive plotters will deposit more ink on
people than on the paper.
Corollary 12: After the last of sixteen mounting screws has
been removed from an access cover, it will be discovered
that the wrong cover has been removed.
Corollary 13: After the last of sixteen mounting screws has
carefully been replaced, it will be discovered that the
access cover gasket has been omitted.
Corollary 14: After an instrument has been fully assembled,
extra components will be found in the cuff of someone’s
trousers.
Corollary 15: If an obviously defective part has been replaced
in a device which was exhibiting intermittant fault, the
fault will reappear after the device is returned to service.
4a. Any attempt to “breadboard” an unavailable circuit
will exceed the estimated cost by 3 21 and will fail.
Corollary 1: Any wire cut to length will be too short.
Corollary la: At least one technician will attempt to solve
the problem by cutting off more wire.
Corollary 2: The availability of a component is inversely
proportional to the need for that component.
Corollary 3: If a circuit requires n components, there will be
n-1 components stocked locally.
Corollary 4: If a particular resistance is needed, that value
will not be available; furthermore, it cannot be developed
with any available series or parallel combination.
Corollary 4a: In breadboarding, Murphy’s Law supersedes
Ohm’s.
Corollary 5: A device selected randomly from a group having
104
CREATIVE COMPUTING
99% reliability, will be a member of the 1% group.
Corollary 6: A crystal filtered 5 volt D.C. power supply will
supply 13.5 volts A.C.
Corollary 7: If a circuit cannot fail, it will.
Corollary 8: A fail-safe circuit will destroy others.
Corollary 9: An instantaneous power supply crowbar circuit
will operate too late.
Corollary 10: An integrated circuit chip, protected by a fast
acting fuse, will protect the fuse by blowing first.
Corollary 11: A crystal oscillator will oscillate at the wrong
frequency, if at all.
Conclusion
Since everything in nature, including its sciences and
disciplines, is dominated by the phenomenon described by
Edsel Murphy it is essential that we learn to live in harmony
with it.
The computer threatens to vanquish error. Fortunately
nature provides checks and balances and Murphy’s Law
serves to temper and moderate the discipline of Computer
Science. Many of man’s advancements came when, in an
effort to overcome error, he reached past his limit to ac¬
complish the impossible. “If we begin with certainities,”
Bacon said, “we shall end in doubts; but if we begin with
doubts, and we are patient with them, we shall end in cer¬
tainties”.
Of course we will occasionally be hampered, hindered,
frustrated and angered by the intrusion of the Murphy phe¬
nomenon. This author submits, however, that a genuine pur¬
pose is served by this visitation; it is the nature of our human¬
ness to remind us that we are human. The infusion of error
into the grandest of schemes is another service provided to us
by nature. Ferris Greenslet wrote, “Give me a good fruitful
error, full of seeds, bursting with its own corrections; you
can keep the sterile truth for yourself.”
The danger to man is not that he will be controlled by his
computers as much as it is that he will imitate them. Humor
is the ultimate weapon for scientists to deal with frustration.
Finding the humor in the inevitable awkward moment causes
the awkwardness to evaporate. Sensitivity allows man to
find the humor; and sensitivity separates the specialist from
the poet. Aristotle reminds us that the specialist expresses
only the particular, while the poet expresses the universal.
V. Cited References and Footnotes
1. Thom, Rene, Structural Stability and Morphogenesis,
D. H. Fowler, New York, New York, (1975).
2. Wirth, N., Systematic Programming: an Introduction,
Prentice-Hall, Englewood Cliffs, New Jersey, pp. 14-25.
3. Fisher, D. L., Data Documentation and Decision Tables,
CAMC 9, No.l, (January 1966), pp. 26-31.
4. USA Standard FORTRAN, ANSI Standard X 3.9-1966,
American National Standards Institute. New York, New
York.
5. Wright, Donald, A comparison of the FORTRAN lan¬
guage implimentations for several computers, CAMC 9,
No. 2, (February 1966), pp. 77-79.
6. Kernigan B. W., Plauger, P. J., The Elements of FORT¬
RAN Style, McGraw-Hill, New York, New York, pp.
131-137.
7. Dijkstra, E. W., Notes on Structured Programming, T. H.
Report WSK-03, Second Edition, Technical University
Eindhoven, The Netherlands.
8. Cupper, R. E., Kluges and Glitches, Lecture Notes from
CS-1, (November 15, 1973). ■
COMPUTER
HARDWARE HI
_ STORE JNC.
Dealers for:
APPLE II, IMSAI
VECTOR GRAPHIC, KIM-1
TECHNICO, OAE
CYBERNEX, JIM-PAK
TERMINALS, PRINTERS
BUSINESS SYSTEMS, BOOKS
SOFTWARE AND MUCH MORE
J[ CATALOGUE AVAILABLE
818 Franklin Street 9 West Cary Street
Alexandria, Virginia Richmond, Virginia
(703) 548-8085 (804) 780-0348
PRAMMER III
by xybek
The Ultimate EPROM Memory Board
For Your SI 00-Bus Computer
★ Accommodates from 1 k to 30k of the above EPROMS, in
any combination, each addressable on any 1 k boundary
within the board’s 32k address space.
★ 1 k of scratch-pad RAM.
★ On-board programming for all three EPROM types.
★ Tri-state buffers on all address and data lines.
★ Empty EPROM sockets do not require address space.
★ Available February 1978 for $369.50, assembled, tested,
ready to run.
xybek • P.O.Box4925 • Stanford,CA94305
Telephone: (408) 296-8188
JAN/FEB 1978
105
106
Lewis Ferring emerged from the shadows for the second
time since his mysterious self banishment from public life
twenty years ago in the year 2192. Eighty years weighed him
down to a mere shuffle, a nurse of neither extraordinary looks,
nor honest compassion steadied him with palm to elbow polite¬
ness. The face of Lewis Perring was a blend of chalk white and a
generous portion of liver spots. His mind was a lithe and as
energetic as his vocal cords. He was an embittered man of
priceless wit and scorn, impeccably glazed with perception.
The dozen or so humans who’d been in various degrees of
contact with him, more often than not were made to feel like
blue-assed baboons with lobotomies. On occasion he would
astound the Galactic Board members with a robot model
that would revolutionize robotics, and speed it onward a
decade before its time.
Inhabitants of the federated worlds knew Perring as the
single most powerful figure in the galaxy. Their assessment
was wrong. He was powerful, surely, but as a figurehead... the
originator of the Perring Atomic Brain and leading pioneer in
realm of robotics.
His empire had long since been bought, sold, halved,
quartered, and shared out as is the inevitable fate of all corpora¬
tions. Interested parties grew in numbers so great, a computer
of gargantuan proportions was built for the purpose of keeping
second-to-second tabs on all dealings.
The board of directors, spread out among the worlds,
recognized that Perring was synonymous with “Robot” and so
allowed the landmark title “Perring, Galactic Robots” to con¬
tinue as a product recognition ploy.
Earth was deigned headquarters of the Federated Planets.
Mars, Venus and the Moon vehemently protested. Mercury
grumbled but accepted Earth as overlord. Mercury was a labor
world of two-hundred thousand humans and twice that of
robots. The deadly heat and radiation from the sun, the swirling
pools of mercury and lead on the planet’s surface was evidence
enough that survival depended on Earth aid. Earth was the
center of the cultural and economic structure in the Solar
System. It would continue being that for some time.
Lewis Perring was aided as far as the board room door. A
sharp wave of his hand brushed his nurse aside. “Wait,” he
barked unreasonably. “Yes, sir,” replied the nurse. She didn’t
mind his attitude. She didn’t care.
Perring opened the door and walked inside. Six men stood
from their places at the rectangular table, off-centered so nat¬
ural sunlight washed over it from large tinted windows.
Dane Parks, forty-six year old board head, crossed rapidly to
Perring’s side with outstretched hand.
Perring nodded toward the other five men. A smile worked
out from an ancient face. “Are they real?”
A general trickle of laughter passed among the board.
Parks laughed. “No, sir. Only myself.”
“Really?”
Parks led Perring with an extended hand not daring to actu¬
ally touch. “Oh, yes, sir,” he assured. “You see, sir, Holo-
gramical Communication, or rather, three dimensional image
communication is a unique invention, by Lewis. . .Perrings. . .
oh. Sorry, sir.”
“You’ve made mistakes before, Mr. Parks.” Perring looked
from face to face remembering a time when they’d all been
younger, idealistic, with full heads of hair and brains to match.
Parks pointed at a seat for an instant. “If you’ll sit here, sir?”
“And if I won’t?”
Parks laughed uncomfortably. “Damn Perring” was the sub¬
stance of the laugh.
Perring sat down in the high backed chair that had been
especially well padded so as not to bruise the Robot father’s
aging skin.
The six board members Perring was to address understood
only one basic signpost of Robot-Computer Philosophy. . .
credits! Lot’s of ’em.
Farside had been chosen as the rendezvous point for the
outer Galactic Board members. Andrew Norton, co-ordinator
for robot functions on Mercury, was fifty-five and too old
to undergo the rigors of gravitational orientation training
necessary to withstand Earth pressure once again.
Diane Pilgrim of Venus, and Janice April of Mars were in the
same boat. They were forever imprisioned on their planets.
Philip Nicely and Arthur Darnell were born Lunarians who’d
made frequent trips to planet Earth but felt unpleasant sensa¬
tions and preferred the eternal bliss of moon gravity. Farside
was also the most acceptable of all locations for communication
purposes. It was a mere second and a half delay for radio waves
to reach Earth. That meant a three second interval between
each communication. Anywhere else in the Solar System it
would be minutes, sometimes even hours.
“Good afternoon, ladies and gentlemen. How are you
today?” He paused a mere two seconds then added, “That’s
the way,” and interruped each and every “fine sir.”
Dane Parks slapped his plam on the table and aided it with a
perfunctory clearing of his throat. “Ladies and gentlemen. We
know why we are here. We are aware of the ultimate threat to
Perring, Galactic Robots if this continues. What we need to
find out is ‘Why’ have the robots and computers stopped.”
Perring was involved in nail picking until an uncomfortable
pause brought to his attention the staring faces of all the board
members. He said, “Sixty human deaths on Mercury were a
direct result of robot incompetency. And you want to know
why?” He steered his head with his eyes until they leveled
with Parks’. He smiled “They just don’t make ’em like they
used to.”
Andrew Norton of Mercury was first to speak. His voice had
an edge on it. “The robot responsible for those deaths was one
of many whose duties were to seek and repair damages to our
Shield. It stopped. . .That’s it. It just stopped at a critical point,
and sixty men and women were burned by radiation. Let me tell
you , it was ugly.”
Lunarian Arthur Darnell, a plump, finely combed, delicate
man in his late thirties held a hand up to his mouth. “That is
dreadful, Andrew. But, please, I’ve yet to eat.”
“Oh, no.” Norton continued. “Let’s be vivid. Mister Perring,
our underground cities and mines are totally dependent on
your robot and computers. You must visualize the problem.
We depend on Perring Atomic Brains, in as desperate a fashion
as do you for the sun that threatens us. Think what would
happen if your sun were to vanish from the sky.
“The Earth would plunge into eternal darkness. Arctic chill
would grip the planet. The winds would halt, the rivers would
cease to flow and gradually the oceans would freeze to their
very depths. In time, the gasses of the atmosphere would,
first, liquefy, then freeze, and in a not too distant future, an
immense glacier of solid air would encase the earth.
“On my world, Mercury, where the temperature exceeds
seven-hundred fifty degrees fahrenheit there can be no atmos¬
phere. We brought, or created our own. Computers stabilize
the temperatures. Robots repair the shields. Computers
control, gauge, and purify the gasses for recycling. Our food
is recycled.
“If ever there was an absolute—it would be this; If our com¬
puters and robots continue to stop functioning every single
Mercurian will bake to death.”
Diane Pilgrim reached a little beyond the Hologram dimen¬
sions. Perring was able to enjoy the odd image of her disappear¬
ing hand reappear with a glass of water.
“I think,” she began, nodding to Norton, “The estimate of
total catastrophy is absurd. It must be perfectly explainable.”
“How nice!” Interruped Janice April of Mars. “Really, just
how nice of you, Diane!” Her lips trembled with fury. “You have
underestimated the situation as usual!” ■
Arthur Darnell cheered. “Here, here!”
Philip Nicely jumped on the band wagon. “I’m sure Janice is
JAN/FEB 1978
107
right. We can’t underestimate this. Andrew has said that Mer¬
cury would die, well, that holds true for all our beloved planets.
Earth, I must remind you, will not escape unscathed either. We
must approach this problem as if it were a total catastrophy.”
“Which it is!” Janice offered as the punctuation point.
Perring looked from one face to the next. Diane Pilgrim was
tight lipped and narrow eyed. Arthur Darnell was looking off
into space wishing he’d been born on Earth. Andrew Norton
was doodling another horror sketch in more explicit ways.
Dane Parks, the only physically present human except Perring
himself, waved down an excited Philip Nicely. Perring was
enjoying this more than he’d thought possible.
Parks turned his attention once more to Perring. Each one of
the board members, in turn, according to degrees of heat, con¬
trolled their tempers and waited for Perring.
“There are possibly a hundred engineers, technicians and
theorists on Earth alone who know better than I the workings of
your robots and computers. There are literally thousands who
know as much as myself.” He smiled. “And I know you’ve tried
them all before me.” He paused long enough to pinpoint the ris-
pain. Don’t feel uncomfortable.” He nodded. “I know what
happened. They looked for normal problems for an abnormal
situation. Most of them probably shrugged the problem off on
you, having been profoundly shot in the ego.” Dane Parks
nodded unconsciously. “Others, perhaps, blamed the anti¬
robot leagues.”
“There you have it!” Cried Darnell. “Beasts! All of them.
They have sabotaged our beloved machines. You.. .you...! He
wagged a wild finger at Parks. “You have done a bad thing on
Earth. You people should have squashed them all long ago.
Now we’re all in danger!”
Diane rolled her eyes “Sabotage? On a Solar System scale? I
should think you’d all be somewhat attentive to Mr. Perring and
quit playing.”
“How nice! How utterly wonderful! What is Diane Pilgrim
doing on this board in the first place? For god’s sake.” Janice
rang the air in front of her with clenched fists in a mock exas¬
peration. “It was suggested by one of our more distinguished
theorists that a mechanical disease.. .an infection.. .spreading
throughout the Solar System is responsible. It seems highly
probably that the anti-robot leagues might be behind it. If we
isolate the disease we would be on the road to recovery.”
Diane raged. “That is a throretical impossibility!”
Arthur Darnell moaned. He wished he’d majored in the sci¬
ences instead of the humanities.
Nicely was shushing them with a smile and finger to his puck¬
ered lips.
Andrew Norton shouted. “Knock it off! We’re actually sitting
here discussing the theoretical possibilities of a robot flu epi¬
demic? I would like to know what the hell the robots are plan¬
ning and can Perring help us or not? I can’t waste my time here
if he can’t.”
Perring was about to speak but Nicely was jumping excitedly
in his seat for attention.
“I should think it obvious what is happening.” Nicely blurted.
Darnell rotated his eyes and slapped the air. “What?” he
asked sarcastically.
Nicely hardly batted an eye but his voice did raise an octave.
“The robots and computers are planning a coup!”
“Absurd,” chuckled Darnell.
Andrew Norton exploded. “I tell you he’s right! The robots
are going to take over. They must be communicating in a fash¬
ion we can’t possibly be aware of.”
Perring waived Norton down. “Computers can not overstep
their parameters. The fact is that most of them have very little,
if anything, in common with one another. It would be an ex¬
tremely barren communication. Each series of manufactured
robot and computer are designed for specific purposes. Ninety
percent are totally dependent on humans asking them a ques¬
tion before they begin to function.”
“Hah!” Janice interruped knowledgeably. “There are com¬
puters that are programmed to program! That shoots holes in
that.”
“Hardly. Humans have created and programmed those com¬
puters. They lack one point humans possess. Initiative. What
ever use they put our knowledge to is in the design. They are a
clean breed with specific duties lacking creative, or selective
thinking.”
“Then why are they stopping?” Andrew punched the table
top with no painful regret.
“They want us dead!” whined Darnell.
Diane impatiently spaced her words and filled them with
venom. “Machines don’t WANT anything.”
Perring winced at the pain in his shoulder. “That is ture,
Diane. They do not want, or need. But they are stopping, aren’t
they? And we can’t get them going. Mars,Venus and the Moon
will be littered with frozen or baked corpses, empty and clean
buildings of soundless vacuum.”
“Stop it!” Darnell closed his eyes.
Perring continued. “They appear to be waiting. . .”
“For what?” Janice prodded.
“Or receiving.”
“What? What?”
“Waiting for the end of their message? Or possibly their pro¬
gramming?”
Andrew was violent. “By who?”
Parks intercepted Andrew’s thoughts. “The anti-robot
league! It figures that if, for instance, they made the outer-
worlders die because of a robot uprising.. .Sympathizers would
destroy Perring, Galactic Robots!”
“How nice of you to supply an answer to a line of reasoning
totally unreasonable. You are brilliant, Parks, really.”
“What do you think they are communicating with, Perring?
A.. .an intelligence similar to them?” Norton was attempting to
pull himself from the bickering.
“To them?” Perring thought a moment. “Let’s be more spe¬
cific in our nebulously human way. Let’s say similar to our
God.”
“OUR god does not exist!” Darnell squirmed with pleasure.
“You are truly amusing, Perring.”
“Those are both accurate statements,” Perring continued.
“But what of their god?”
“Oh, please.” Diane was close to tears. “Let’s form some
action.”
“Is there any action,” suggested Perring, “that would be of
any consequence?”
“If we have to go our and destroy every robot that won’t
work, we should!” Darnell was in a fury.
“You foolish fop!” Norton snarled. “You’d be just as dead by
destroying the damn things as you would from them stopping.”
“Listen,” begged Parks. “Perring, Galactic Robots verges on
collapse! Every minute we spend arguing, thousands of robots
and computers are stopping. If theirs is a mechanical disease
as someone suggested.. .who knows what it will cost to fix...”
“We’ve got to fix them anyway, damn you, Parks!” Norton
was on his feet. His head vanished momentarily and then
returned when he was within the communication area. “We’re
talking about sixty-two million outerworlder lives!” He looked
desperately at Perring. “What do we do?”
Perring continued as he had before. Norton slumped back in
his chair. “In times past, humans believed that our universe was
all part of one God. The planet Earth was to have been created
by God. The flowers, the trees, the vegetables and fruits and,
yes, even animal flesh was created for our comfort.” He was
aware of a groan from Darnell. “Humans were considered
God’s children, part of God. Isn’t it credible that we were
created for a specific function? With a mission, a purpose? As
our robots and computers were? Maybe we were to perform as
midwives to a cleaner breed, the innocent?”
“Insanity.” Parks looked for sympathizers. “There was a
time, horrible as it must have been, when there were no robots
or computers, and man survived without them. Man put man
108
CREATIVE COMPUTING
where he is today.”
“And where is man today? On the brink of extinction?”
“Extinct, my ass,” flared Norton.
“Possibly,” Perrings resumed. “We evolved into a machine
dependent race. We created them. An entire species by them¬
selves. Millions of separate organisms that need only be con¬
nected to their Messiah.” Perring grasped his shoulder. The
pain was almost unendurable. “No. There is no disease.. .other
than rust, and at last check it wasn’t communicable.”
“We reside in huge condominium complexes, computerized
to perform in our best interests. Computers do the accounting,
co-ordinate transportation and communication.. .like the Holo-
gramical Communication we are even now employing. They fix
our diets, put us to sleep, wake us. Robots do the gardening, the
labor, they are the perfect ones to create when man fears to,
and to investigate when there is even a remote danger poten¬
tial to humans.”
“Why do you think the anti-robot leagues are even now pre¬
paring a seige on all robot factories and sympathizers? They
are witnessing what they preached. The end of mankind. But
they can’t possibly see all of it. They never could. The fear was
far enough for them to venture into.” Perring was interrupted
by the knocking on the board room door. The door opened
without invitation and the nurse entered.
Perring rubbed at the mounting pain in his shoulder. The
nurse would place a pill in his hand and he would be expected
to eat it. The pain would slip away and his heart would remain
steady four more hours.
“The robots and computers have won by doing nothing. Odd
to think that they don’t even care that the end of man is here.”
“Perring!” Barked Dane Parks. He nodded violently toward
the nurse who’d just dropped a small blue pill into Perring’s
palm.
“My dear Mr. Parks. This nurse is, to be sure, a member of
one of the more violent anti-robot leagues.” He placed the pill
on his tongue and deposited it well into a corner of his mouth for
removal later. “Am I right?” He looked up at his nurse.
“Yes, sir.” There was a bite in her words as of that moment
unprecedented in the acquaintance. She turned abruptly and
left the room.
“She will report what she has heard to the crowd of hysterical
robot-haters who have been gathering outside this building
since my arrival.” Perring nodded toward the window. “There
is really no use trying to stop her. You see, they will attack any¬
way.”
“What?” Parks stood hesitantly and walked to the large win¬
dow. He stared out a mere instant and then jumped back. “My,
God. Thousands! Why haven’t the police done something
about them?” His voice tickled the images of squirming Darnell,
wide eyed Norton, Nicely, Diane and Janice.
Perring grabbed his shoulder and fell slightly forward. He
caught himself at the edge. A little longer, he thought.
“We were assembly line workers.”
Norton shook his head violently from side to side. “No!” He
pointed to Perring. He was going to gamble. “Ok, so you think
the things are waiting for their Messiah. And us outerworlders
are going to die despite our efforts not to. Well, that isn’t right!
Not all of it is! Because no matter what happens, somebody will
survive on Earth. Sure, millions will die from panic, looters,
starvation because they simply don’t know how to cultivate
their own planet. But somebody will survive. And they will
have learned. No more robots. They’ll make sure of that! No,
your solution is nothing but an old man’s nightmare. We’ll find
out what’s wrong with these machines without you.” Norton
was covered with sweat. His eyes were wide and furious.
Darnell was wimpering. Nicely’s head was buried in his arms.
Diane was calm, her eyes shut. Janice was gawking at Norton.
Perring shook his head slowly. “There is no hope. Can’t you
see? Do we continue to manufacture a series of robots or com¬
puters when they have become obsolete, useless? No, we use
the better, the newer product.”
“You’re horrible! You’re horrible!” Tears were begining to
spread the thin layer of rouge on Darnell’s cheeks. He pointed
at Perring. “I know what he’s saying. God is a robot!”
“Shut-up” Janice screamed.
“He thinks we have been canceled like a line of robots!”
Darnell was hysterical.
Norton shouted above the screaming Darnell. “No. Not true.
And 1 can prove it.”
A hologramical image of a computer screen suddenly
appeared at one end of the table so that it was within every¬
body’s view.
Norton was breathing heavy. His face was red. “I’ll prove it!”
Perring coughed, the taste of blood was in his mouth. The
warmth, the saltiness, edged him a little more swiftly over the
edge. He looked up at the screen. In just a moment he would
see the proof for himself. He knew exactly what Norton was
trying to prove. How else would you find out if man would
continue?
“Show him!” screamed Darnell. “Show Perring.”
Norton was frantic. “It started two days ago, right? Well,
we’ll see how many children have been born since then.” He
pummeled the keys in front of him, punching in the correct
question. The computer was soundless but within six-seconds
the screen read ‘0.00 POPULATION GROWTH.’
Perring screamed as his heart exploded within his chest.
Diane, Janice, Nicely, Darnell began to blur as the computer
failed. As the final note Norton screamed, “Perring!” Then they
were gone.
The window suddenly burst into thousands of sharp glass
shards. Dane Parks was thrown to the floor from the exploding
bomb that had detonated just outside the window. They would
soon be there, he knew, in that room and he was alone. Perring
was frozen wide eyed in death.
Parks stared dumbly at the body. The sounds of madness
creeped up and lodged firmly behind his eyes. ■
JAN/FEB 1978
109
Poetry bo (Eomputer
HEIRESS
THE HEIRESS ABOVE WRITHING MISTS
WALKS
THE NEXT ROOM BEYOND RUINED THE FUTURE
CERTAINLY USED TO LEAD
HERMITS FLOWERING THE TOUGHEST TINTED DISTANCES
TO REST HERMITS
TO FEEL
TO DIE
THE RED LOVE-CARS FIRST ENTERED
VERTICAL BLOSSOMS TAKE ENLARGING IN LOVE-CARS
TARNISHED EYELIDS OF STONE CRINGE EQUALLY IN THE FUTURE
THE OBSOLETE GOSSIP LIVES PRETENDING ROCKS, MOSS
HAPPY I CRIED SELF-CONSCIOUSLY FLEEING THE CITY
GREEN MY WIFE GIVES TO FOCUS AND CUNNING PASSAGES
NAKED MY NORTH ROOM GLIDING IN ITS HOMICIDAL EYE
SECRETIVE THE STREETS LIVE GULPING WITH MEDITATIONS
INLAND MOUNTAINS HURLED AS TRUMPETS BELOW BLADES
ANALGESIC INLAND MOUNTAINS GROW TO BE MY HEAD
SECRETIVE CLUES WATCHED GULPING SO THAT HELL
TARNISHED MY NORTH ROOM TO ARRANGE BEYOND THE SKULL
CUNNING PASSAGES MEDITATE EYELIDS OF STONE
WHITE WESTERN STARS HAD BROUGHT WIND INTO THE CITY
110
CREATIVE COMPUTING
Poetry
INSURANCE COMPUTER
I went to my insurance man just the other night.
To figure a plan for me that would be exactly right.
Behind his desk so smug and glum a fine computer sat.
We would not get along, I could see right off the bat.
I could tell by the way it blinked its lights at me.
That it and I would battle, at least we would disagree.
The insurance man was busy with papers and a form,
The computer showed me then nothing but its scorn.
When my card went in, it threw it out with dry contempt,
Did not accept it until about the third or fourth attempt.
Now I have a fine insurance plan, tailored for me alone.
My windows will be paid for if smashed by a lunar stone.
I shall be paid a princely sum 1 know without a doubt,
Should I ever be struck by Mohamed Ali in a fistic bout.
Or if it should happen on the Inter-State Eighty One
That my dog sled team and I should by a bus be overrun.
Now these things will make me rich yes indeed.
But right now this is not my one and only need.
I want to get even with that Computer so smart.
It thinks it has outsmarted me in whole or in part.
But I have a plan that I know it will surely succeed,
To take away that one thing that all computers need.
Take away this and they lose their respect and control
Yes, I mean to steal each and every punch card Hole!!
by People
Edward Stewart
SECRET LOVE
Computers have no heart people very often say.
Nonsense! The one I worked with is warm, bright and gay.
It is smart and fast, friendly too, I may wish to add.
It is the best friend that I have ever had.
I have talked to it for hours, when the others are all gone.
Talked to it thru the night almost to the dawn.
My machine won’t tell a soul, confides in me alone.
I tell it secret things, like the brand of my cologne.
We have talked for many hours, far into the night,
Argued too, about fishing, when and where they bite.
Some at the office now start to give me long odd looks,
When I start to read to it from out of my dirty books.
They have put me away now, in a brand new home,
That gives me more time to write and draw up my own
tome.
So it don’t matter so very much what they have to say.
I would write much more but they took my crayons away.
ESAT-100
Economical Stand Alone Terminal
Assembled, Tested, Burned-In.$239.00
For Teletype. SCMP, Jolt, Kim SBC 80 Users A reliable, inex¬
pensive. self contained Communicating Terminal, completely
assembled, burned m, and tested S239.00
SPECS: 32 character x 16 lines x 2 pages of 5 x 7 dot matrix 64
character ASCII communicating with a serial, asynchronous 11
unit code, TTL compatible from 300 to 9600 baud Keyboard
Controls are back and forward space. I me feed, clear page, or to
end of line, select page 1 or 2. fullAialf duplex, local/remote,
cursor on/off. odd /even /no parity. Output to TV Monitor is
Composite Video. 75 Ohms. Keyboard required is parallel out
put 7 unit ASCII with negative true strobes Keyboard may tap
up to 200 Mo. from the ESAT 100 on board 5V power supply
Power required is 110VAC @ 7 watts
COMMENTARY At this writing (10 1 77). the ESAT 100 is the
only Stand Alone Terminal board requiring only black and
white TV set and ASCII Keyboard. You do not have to have
a S-100 Bus Machine, or even a computer May be used in con
junction with a Modem and your home TV set to provide a time
share type terminal at any Baud rate you desire
Note, commercial terminals use an 80 character x 24 line for
mat However, we have chosen 32 character x 16 lines for tele
vision set applications because of the limned resolution available
on most TV sets
Nonetheless, for those of you who are the owners of either
high quality video monitors, or the best of Japan's TVreceivers.
we offer the
Scroilboard Adapter Kit (designed to fit on ESAT 100) with 64 CAP. SPECIAL:
characters x 16 lines and Automatic Scrolling for S29.95
M & R Supermod R F Modulator for antenna connection with The Highest Quality,
your TVsei Runs off of ESAT 100 power supply color and By-pass anywhere:
biack& white for S24.95 VK06 0.1/100V for $0.29
fil.fi I I I
fiisjll
fTiiiii
giiiis
glfilll
Sum
SSi-iii
Full Color TV Game Kit:
Includes MM57100 Game Chip, MM53104 Clock Gen., LM1889N Color
Modulator, 3.58 MHz color burst oscillator crystal, variable cap for crystal
adj. and PC board. Very impressive on color sets. All data sheets and
schematics included...$25.95
Direct Reading Capacitance Meter Kit:
Here is a handy shop item incorporating a reliable and accurate mea¬
surement method which works from 01 pico + d to 10 micro + d. Includes
large 6" scale analog meter movement, all electronic parts and full docu¬
mentation and theory of operation. Requires 5V and + -12V power. Makes
accurate readings directly and instantly! No tuning, fiddling or interpola
tion required. Full documentation and theo ry... $39.95
5V Regulated Power Supply Kit:
Provides regulated 5V @> approx. 250 ma for benchwork, breadboards and
small projects. Includes LM340T 5 regulator, rectifiers, filter caps, and
wall-plug transformer. Full notes. .$6.95
Nicad Batteries and Charger:
2 ea 2AH 'C' size Nicads (great for memory power-fail CKTS, cold wea¬
ther flashlights, etc. and charger...$1 3.95
LINEAR
LM380N 1.39
LM340T 5,12,15
.99
NE560
2.95
NE561
2.95
NE565
1.95
NE566
1.49
NE567
1.49
LM1812
4.95
LM1889
4.95
CPU SPECIALS
8080A
10.95
N
X
E
(N
O
00
N
incl.
18mHz Xtal
33.95
Z80A (4mHz) incl.
36mHz Xtal
39.95
OPTOCOUPLERS
4N26
1.00
PROMS
VERBATIM Removable Magnetic Storage Media
PRICE REDUCTION!
Minidiskettes 1-9 10-25 26-100
4.79 4.65 4.45
MD525-01
MD525-10
MD525-16
Standard Size
Diskettes
FD34-1000
FD32-1000
FD65 1000
Cassettes
R-300
Digital Direct
(Soft Sector) for: Intelligent Systems,
Magnovox, Microkit, and Vector Graphics
(10 Sector, Hard) for: Digi-log, North Star,
Polymorphic, Tei Inc., and Wang
(16 Sector, Hard) for: Altair, Comtek,
Micropolis, R2E, Realistic Controls,
and Teleray- Research Inc.
1-9 10-25 26-100
5.99 5.33 4.79
(Soft Sector, IBM Std.)
(Hard Sector, Inner dia.)
(Hard Sector, Outer dia.)
1-9 10-25 26-100
5.25 4.99 4.35
8223 Special 10/9.95
82S1 15 8 x 512 15.95
EPROMS
2708 650nS 12.95
2708 450nS 16.95
C1702A lOOOnS 4.95
MM5203Q 4.95
MM5204Q 9.95
8K Static Memory Boards
Tested, Burned-In Complete
$179.00 for 450nS
$239.00 for 250nS
$ 19.00 for Bare Board
RAMS
and OTHERS
21 L02-1
450nS
1.25
AY5-1013
4.95
21 L02
250nS
1.50
MM5369
1.69
2111AL4
450nS
2.30
MM5320
6.00
C3107B
60nS
1.99
2513 Up.
5.95
PD41 1 D 4
135nS
3.99
2513 Lo.
6.95
IN4005
IN4148
Electrolabs
POB6721,
Stanford, CA94305
415-321-5601
11 / 1.00
15/1.00
SATISFACTION
100% GUARANTEED!
TO ORDER:
Send check or money order and include $1.00 for shipping, 1.00 (op
tional) for insurance, and please include 6 Y>% sales tax if you are a
California state resident. COD orders add .85 Thank you.
IF YOU'RE NOT SUBSCRIBINGTO CREATIVE COMPUTING,
YOU’RE NOT GETTINGTHE MOST OUT OF YOUR COMPUTER
No computer magazine gives
you more applications than we do!
Games. Puzzles. Sports simula¬
tions. CAI. Computer art. Artifi¬
cial intelligence. Needlepoint.
Music and speech synthesis.
Investment analysis. You name it.
We’ve got it. And that’s just the
beginning!
Whatever your access to compu¬
ter power—home computer kit,
mini, time-sharing terminal— Cre¬
ative Computing is on your wave¬
length. Whatever your computer
application—recreation, educa¬
tion, business, household manage¬
ment, even building control—Cre¬
ative Computing speaks your
language.
Read throughpagesof thorough¬
ly documented programs with
complete listings and sample runs.
All made easy for you to use. Learn
about everything from new soft¬
ware to microprocessors to
new uses for home com¬
puters. And all in simple,
understandable terms.
And there’sstillmore.
Creative Computing
discusses creative,
programming tech¬
niques like sort
I want to get the most out of my computer.
Please enter my subscription to:
GPeative
computing
Term
USA
Foreign
Surface
Foreign
Air
□ 1-year
□ $
8
□ $ 12
□ $ 20
□ 2-year
□ $
15
□ $ 23
□ $ 39
□ 3-year
□ $
21
□ $ 33
□ $ 57
□ Lifetime
□ $300
□ $400
□ $600
□ Vol. 1 Bound
□ $
10
□ $ 12
□ $ 15
□ Vol. 2 Bound
□ $
10
□ $ 12
□ $ 15
□ Payment Enclosed
□ Visa/Bank Americard
Card No. _
□ Master Charge
□ Please bill me ($1.00 billing fee will be
added; foreign orders must be prepaid)
Name _
Address .
City-
State
„Zip .
Send to: Creative Computing, Attn: Andrea
P.O. Box 789-M, Morristown, N.J. 07960
algorithms, shuffling and string
manipulation to make your own
programming easier and moreeffi-
cient.
We can even save you time and
money. Our extensive resource
section is filled with all kinds of
facts plus evaluations of hundreds
of items. Including microcompu¬
ters, terminals, peripherals, soft¬
ware packages, periodicals, book¬
lets and dealers. We also give you
no-nonsense equipment profiles to
help you decide which computer is
best for you—before you spend
money on one that isn’t.
We’ve got fiction too. From the
best authors in the field, like
Asimov, Pohl and Clarke. Plus
timely reviews of computer books,
vendor manuals and government
pamphlets. And so much more!
Isn’t it about time you subscrib¬
ed to Creative Computing ? It’s
the smart way to get the most
out of your computer.
Complete this coupon and
mail ittoday.Orforfast
response, call our toll-
free hot line.
(800) 631-8112. (In
New Jersey call
(201) 540-0445).
creative GOIRpatilifl brings you its best!
Some Common BASIC Programs
Adam Osborne. An ideal workbook to accompany
a BASIC programming course or for one’s own
use. Contains 76 general purpose, practical
BASIC programs with complete listings. 192 pp.
$7.50 [7M].
Game Playing With Computers
Donald Spencer. A good mind-exercising
resource. Contains over 70 games, puzzles and
recreations for the computer. The games, in both
BASIC and FORTRAN, have detailed descriptions,
flowcharts and output. Also includes a history of
game-playing machines and lots of “how-to” write
your own games. 320 pp. hardbound $16.95 [8S].
BASIC Programming
Kemeny and Kurtz. An excellent gradual introduc¬
tion to computer programming in BASIC with lots
of samples ranging from simple to complex. Rated
“The best text on BASIC on almost all counts." 150
pp. hardbound $8.50 [7E].
Byte Magazine
If you’re considering your own personal com¬
puter, then you need Byte. With an emphasis on
hardware, Byte provides a wealth of information
on how to get started at an affordable price.
Theory, opinion, how-to articles. Subscriptions,
USA 1 year $12J2A], 3 years $32 [2B]; foreign 1
year $25 [2F]. First issues of this now classic
publication have been edited into The Best of
Byte, Volume 1. 386 pp. $11.95 [6F].
Creative Computing Magazine
The #1 computer applications magazine helps you get the most out of your computer, be it a micro, mini
or timesharing system. Plenty of practical applications in education, small business management,
household management, recreation and games, and building control. Programming techniques, for
those writing their own, include sort techniques, recursion, and file structures. Complete listings and
sample runs of games, investment analysis, music synthesis, artificial intelligence programs and much
more. Articles, in-depth book and resource reviews, hardware and software evaluations and even some
fiction and foolishness. “But the best thing about Creative Computing is its feisty, friendly attitude" —
The Village Voice. Subscriptions, USA 1 year $8 [1 A], 3 years $21 [IB]; foreign 1 year $12 [1G], 3years
$33 [1H]. Sample copy $2 [1C]. Volume 1 and 2 issues have been edited into two big 324-page books.
American Vocational Journal said of Volume 1, "This book is the ‘Whole Earth Catalog’ of computers."
$8.95 [6A]. Volume 2 continues in the same tradition, "Non-technical in approach, its pages are filled with
information, articles, games, and activities. Fun layout.” — American Libraries. $8.95 [6B], Also available
is a special package of all the single issues in Volume 3 for only $8 [IN].
Artist And Computer
"Get yourselves a copy of this book if you enjoy
feeding your mind a diet of tantalizing high-impact
information.” — San Francisco Review of Books.
In this book, 35 artists present a multitude of
computer uses and the very latest techniques in
computer-generated art. 132 pp. $4.95 softbound,
[6D], $10 hardbound [6E],
BASIC Computer Games:
Microcomputer Edition
David H. Ahl. An anthology of 101 games and
simulations. Everything from Acey-Deucey to
Yahtzee, all in BASIC. The only book of its kind
with complete listings, sample runs and descrip¬
tive write-up of each game. 248 pp. $7.50 [6C],
Creative Computing Catalog
FREE 16-page reference to computer-related
products not readily available in commercial
stores. Lists books, magazines, T-shirts, game,
binary dice and more [5A
The
Colossal
Computer
Cartoon
Book
Sit back and relax. Take a break with the best
collection of computer cartoons ever. Popular gift
item, too. 128 pp. $4.95 [6G].
Problem Solving With
The Computer
Ted Sage. Used in conjunction with the traditional
high school math curriculum, this book stresses
problem analysis in algebra and geometry. This is
the most widely adopted text in computer
mathematics. 244 pp. $6.95 [8J].
Computer Rage
Fun and educational new board game based on a
large-scale multi-processing computer system.
The object is to move your three programs from
input to output. Moves are determined by the roll
of three binary dice representing bits. Hazards
include priority interrupts, program bugs, deci¬
sion symbols, power failures and restricted input
and output channels. Notes included for adapting
game for school instruction. Great gift item. Ages
8-adult, 2-4 players. $8.95 [6H].
Microcomputer Design
Donald P. Martin. This book is well-suited for the
engineer who’s designing microprocessors into
his company’s products. Not just block diagrams
or vague theory, but dozens of practical circuits
with schematics for CPUs based on 8008 chips.
Includes interfacing to A/D, D/A, LED digits,
UARTs, teletypewriters. Over 400 pp $14.95 [9Pj.
A Guided Tour of Computer
Programming In BASIC
Dyer and Kaufman. This
book tops all introductory
texts on BASIC. Filled
with detail and examples,
it includes sample pro¬
grams for many simula¬
tions, several games, re¬
servations systems and
payroll. Aimed at the
novice, but of value to
everyone. 156 pp. $4.80
[8L].
For faster service call toll free
800 - 631-8112
In NJ call 201-540-0445
Getting Involved With Your
Own Computer
Solomon and Viet. One of the first books on
microcomputers that requires no previous -
knowledge of electronics or computer program¬
ming. Tells you where to find information, explains
basic concepts and summarizes existing systems.
Good place for the neophyte to begin. 216 pp.
$5.95 [9N].
An Introduction to Microcomputers
Fun & Games With The Computer
Ted Sage. “This book is designed as a text for a
one-semester course in computer programming
using the BASIC language. The programs used as
illustrations and exercises are games rather than
mathematical algorithms, in order to make the
book appealing and accessible to more students.
The text is well written, with many excellent
sample programs. Highly recommended." — The
Mathematics Teacher. 351 pp. $6.95 [8B].
Adam Osborne. Volume 0, "The Beginner’s Book” covers microcomputer system components, how they
work together; number systems, the basics of programming, and putting it all together in a system of your
own. 264 pp. $7.50 [9T]. Volume 1, Basic Concepts, also assumes no prior knowledge of computers. It
covers basic principles, binary arithmetic, the microprocessor CPU, I/O logic, memory organization and
programming. 264 pp. $7.50 [9K]. Volume 2 (2nd Edition), Some Real Products, covers 20 actual
microprocessors in considerable detail including timing diagrams, instruction sets, and interrupts. 760
pp. $15 [9L].
creative computing
Please send me the following:
Quan. Cat. Description
Books shipping charge
$1 USA,$2 Foreign _
Attn: Cheryl P.O. Box 789M. Morristown, NJ 07960 USA
NJ residents add 5% Sales tax
TOTAL.
Price
Name _
Address
City _
State .
.Zip.
□ Cash, check, M.O. enclosed
□ Bank Americard/VISA
□ Master Charge
Card No. _
Expiration date _
Richard Grant
Illustrated by Richard von Magnus
114
CREATIVE COMPUTING
I wasn’t doing much that afternoon, just twiddling my
memory banks and staring out the window, when she walked
into my office. All five foot eleven of her. She was wearing a
black silk blouse that was open down the center to the navel, a
black leather skirt slit up the side, black shiny boots, and a wide-
brim straw hat that hid her eyes and made her seem taller. A
thin brown cigarette protruded from her fingers, dropping
ashes silently on my rug.
It was a swell outfit. The only thing missing was a panther on a
leash. She’d probably left it double-parked outside.
I said: “Take a chair, sweetheart, you’ve already taken my
heart.”
She whirled around, startled, and stared at me. Her jaw
dropped. “You? You’re Sam Data, the detective?”
“That’s what the sign on the door says.”
She smiled, a thin hard smile. Then she threw her head back
and laughed. Between gasps for air she got out, “It’s.. .it’s just
that I was expecting....”
“Yeah, I know, you were expecting Humphrey Bogart. I can
talk like him, if that’s any help,” I said, switching my voice-
syntax box over to Bogart. It limited my vocabulary a little, but I
didn’t think it would matter.
She sat down on the hardwood chair I provide for my clients,
and hitched her hat back. That gave me a look at a pair of
smoke-filled green eyes. “A computer private detective.” she
said, shaking her head. “No wonder you don’t make house
calls.”
“Figured that out all by yourself, did you.”
She laughed again. “Bogart, all right. Down to aT. This is just
too much. Who writes your dialog?”
I let that one go. Business hadn’t been too good lately, and I
heard a rumor that if it didn’t pick up I might soon be recording
parking violations. I needed a client, so I turned on all the Sam
Data charm. “My programmer was a great fan of hard-boiled
detective fiction. Some of it rubbed off. Now did you come on
business, or are you just up here to admire the view?”
Her face straightened out, and she looked disdainly around
my office. There wasn’t much to look at. A couple of chairs, a
table with a few dusty magazines, and four empty walls badly in
need of a paint job. Outside, the steady stream of traffic up and
down Sunset sounded like a river heard from a long way off.
“Business,” she said finally. “I, I don’t know quite how to say
this.”
“Try moving your lips.”
She sneered at me, dropped her cigarette on the rug, and
ground it to pieces with a six-inch heel. “It’s about my husband,
Robert. Robert Barkley.”
“What about him?” I said.
She smiled nervously. “Well, he’s dead.”
I ran that one through, then said, “Uh-huh. Since June 6th. A
.38 slug in the head. One shot fired at, or about, 3 a.m. Ballistics
match it to a .38 automatic which just happened to be found in
the deceased’s hand.”
She stood up, her face pale. “But.. .how... .”
I ignored her and went on. “Could be a suicide. He left a
typewritten note, but there’s one problem. He forgot to sign it.
The note contradicted his will, and left everything—and I do
mean everything—to his nephew. Bad break for the wife, wasn’t
it, Mrs. Barkley? Or should I call you Susan?”
She was still standing, the crown of her hat just about
scraping the ceiling. “Do you mind telling me how you know all
this?”
“No, I don’t mind. I have some friends down at police
headquarters. I’ve helped them out on a few cases, and in return
they let me keep an open channel with their computers. Now let
me ask you a question, just what is it you expect me to do for
you?”
She sat down again, and lit another cigarette. “This
channel with the police, is it two-way? I mean do they hear what
I’m saying?”
“Not unless I want them to. And right now I don’t want them
to.”
She looked a little skeptical, so I said, “Listen Mrs. Barkley, if I
didn’t respect a client’s confidence I wouldn’t be in business for
a minute. The police know that. They let me keep the open
channel because when things are slow, I do some work for
them, that’s all. I can shut it off, or make it one-way any time I
want to. Understand?”
The straw hat nodded up and down. “I guess it doesn’t matter
if the police know anyway,” she said, taking a large drag on her
cigarette. “Of course the reason I need you is to prove that the
suicide note is a phony. I know it is. Robert and I were, well, we
weren’t on the best of terms, that’s no secret, but he wouldn’t
have cut me off like that. And he wasn’t the type to commit
suicide. He was too much of an egoist for that.”
“Uh-huh,” I said, and pressed a few buttons. In ten seconds
the piece of slick paper was ready. I fed it out of my bottom slot
so she would have to bend over to grab it. That gave me a quick
flash of her legs. They were nice legs.
“What’s this?” she said.
“It’s a photostat of the suicide note.”
She looked up, impressed. I went on, “It was typed on an IBM
Selectric—the one in your husband’s office—on a carbon
ribbon. There were standard business letters on the ribbon
before the note, and nothing after it, so it was the last thing
typed. I’m studying your husband’s other correspondence now.
And from the looks of it, I’d have to agree with you. He didn’t
write that note.”
“What?” she practically yelled. “How can you tell already?”
“Patterns. They’re as evident in writing as they are in speech,
of course, not to the average person though. By examining a
large sampling of someone’s writings, and giving mathematical
configurations to certain words, a definite pattern emerges. The
pattern in the suicide note is not your husband’s.”
“I’ve never heard of this before.”
“Yeah, well actually it’s not totally accepted by the law
enforcement community yet. It’s just something I’ve worked
out—one of my many services.”
“Yeah,” she said. “Last year’s jokes and tomorrow’s crime-
detection techniques.”
I let that one go by, too. “Funny thing about these word
patterns. I can tell who did write that suicide note if I have some
samples of their writing.”
“Yeah?” she said nervously.
JAN/FEB 1978
115
“Yeah.” I wasn’t sure, but I have it a try. “You know as well as
I do, Mrs. Barkley, that an unsigned suicide note carries no
weight with the law in this state. You get the whole inheritance
just like the original will says. But the note was clever, I’ll give
you that. It threw suspicion on the nephew, without causing you
any great danger. In order for it to work, though, you had to
pretend to be concerned about it, so you decided to hire a
private detective. That was your only mistake. The suicide was
easy enough to fake. You probably just shot him in his sleep,
or..
She stood up fast, knocking the chair over behind her. “You
can’t prove that..
“Don’t kid yourself, sister. The cops are already on their way
over. I put out a call to them five minutes ago. And don’t bother
trying the doors. They’re on an electronic lock system, and I
already switched them on.”
Her green eyes flicked to the door, then back to me, spitting
daggers. But her voice literally purred. “You don’t want to tell
the cops anything,” she said walking towards me. She put her
fingers out and stroked my data-control center. Her fingernails
were painted black. “We could be good for each other, Sam.
You’re right about the will—all that money is mine now. Or
should I say ours. I can have you moved out of this shabby
office, we can go to Rio, or we can..
“Can it. You’re taking the fall, kid. Oh sure, we might be good
together for a few weeks, maybe even a month. But then one
morning I go to recharge and find my power-pack unplugged.”
“You’ve thought of everything, haven’t you,” she said, her
voice taking on a hard edge. “Except this.” I was looking into the
barrel of a small automatic.
“I told you—the police are on their way.” I was still using
Bogart’s voice, but it sounded funny now.
She laughed. “Let’em come. What’s the penalty for shooting
a computer?” There was a tiny spark, the gun jumped in her
hand, and one of my electronic eyes shattered. There were two
more hard slaps, and then the sound of ripping metal. Damage
reports flooded in. I put out an all-points bulletin for every police
car to come to my address. It was a police code I wasn’t even
supposed to know, let alone use, but for once I was glad I didn’t
always play it straight with the police.
Three more shots rang out in the small room. Blue smoke
hung in the air.
She hadn’t hit anything vital yet, but it was only a matter of
time. I had to take a chance. Over by the door, about ten feet
behind her, I had a small speaker I used to talk to the mailman
with. I swtiched it on, and suddenly Lee Marvin was saying, “All
Personal
: 1
y
Computer
<
-
A
; 1
Corporation
<
<
►
We know EDUCATION
i
►
We know COMPUTERS
i
►
►
►
We have, on the premises
• FULL TIME SERVICE &
REPAIR '
• FULLTIME PROGRAMMING <
►
We Accept:
<
►
Master Charge
i
y
BankAmericard
<
>
Purchase Orders
ASK FOR: EVERETT
<
►
DAVE
<
►
ED
<
►
►
FOR ALL
YOUR MICROCOMPUTER
REQUIREMENTS
<
<
►
Frazer Mall, Rtes. 30 & 352
-
►
Malvern, PA 19355
<
Phone: (215) 647-8463
right sister, hands in the air, slowly, and don’t turn around or
you’ve had it.”
She jumped about a foot.
“Didn’t know Sam had a partner, did you?” Marvin said.
“Only this partner’s flesh and blood.”
It didn’t sound like flesh and blood. The speaker had a static
like noise to it, but it was good enough to fool her. She raised her
arms in the air.
“Sam, open a drawer.”
I threw one of my electronic storage drawers open.
“Drop the gun in it, sweetheart.”
She did as she was told, and I slammed the drawer shut.
Maybe the Pittsburgh Steeler Front Four could have opened it
again, but she couldn’t.
Slowly, she turned those beautiful green eyes towards the
door. “But.. .where.. .you.. .you tricked me!”
“That’s right, honey,” Lee Marvin said from my main voice
box.
She whirled around on me. “Okay. So you got my gun, so
what. No jury in the world is going to believe all that word
pattern mumbo-jumbo. You haven’t got anything on me.”
“You’re right about the word patterns. That stuff is straight
from the comic books. But everything you’ve done and said in
this office has been tape-recorded and video-taped. Should L>e
enough to give the cops something to think about. You see, that
chair you were sitting on, when you weren’t pumping bullets
into me, is an electrically-wired lie detector. My own invention. I
got a hunch about you from some of the readings I was getting,
and I decided to play it.”
Her shoulders sagged. “And I fell for it.”
“From twenty stories. But don’t feel too bad. With your legs,
you should get off pretty easy.” I opened another drawer, the
one where I keep the office bottle, and said, “Have a drink.”
In the distance, the wail of police sirens cut through the noise
of the traffic below. She took the bottle and the dirty glass next
to it, and poured herself a healthy slug. She threw it down with
one quick jerk of her head, and poured another. Her green
eyes lifted to one of my unshattered electronic ones.
“You know Sam, I wasn’t on that lie detector thing of yours
when I was stroking you, but I did feel something. Really, I did.
You know, you’re kind of cute.”
“Yeah,” I said.
“Maybe I’ll get off easy. We could start off fresh when I get
out.” She walked over, and ran her arms up my data banks,
carefully avoiding the holes where her bullets had gone in.
“Sure kid,” I said, as I unlocked the office for the two
uniformed policemen standing. “I’ll be waiting for you.” ■
PROGRAMMING PROJECTS
ACROSS THE CURRICULUM
Edited by Ronald G. Ragsdale
Sample exercises demonstrate the potential of computer
programming assignments in a variety of secondary school
subjects. Teachers of computer programming will find the
book especially helpful in initiating cross-disciplinary projects
that tackle valid problems in different subjects as well as in
developing programming skills. $3.75
Orders of $20 and under must be prepaid; please 5% for
handling.
Order from:
Publications Sales, The Ontario Institute for Studies in
Education, 252 Bloor Street West, Toronto, Ontario,
Canada M5S 1V6
CREATIVE COMPUTING
COMPUTER MYTHS EXPLAINED
reviews
IT'S A GBCAT BIG COMPUTfB WOBID
But You Only N**d
THE
COMPUTER CORNER
• SOL - A Now Down Is Here!
• IMSAI 8080
• POLY - 88
• TDL Z -80
• Wom<xi«G b I/O Boards
• Computer Book Servic*
• Magnetic Tapes b Disks
e Full Line of Magazines
a Brain Gamas & Puzzles
a Workshops b Club Information
Visit THE COMPUTER CORNER for all your
computer needs. Stop in and browse - you'll like our
personal service.
THE COMPUTER CORNER
White Plains Mali — Upper Level
200 Hamilton Avenue
White Plains, New York 10601
Tel: (914) WHY - DATA
Ample Parking
10-4 Daily & Saturday
10-9 Thursday
/ 10-8 Thuraday
INSURANCE
POLICIES
COMPUTER
DATING
SERVICE
©CREATIVE COMPUTING
People's Capitalism: The Economics of the Robot Revolution.
James Albus. New World Books, College Park, MD. 157 pp.,
paperback. 1976.
The First West Coast Computer Faire Conference Proceedings.
Jim Warren, Editor. Computer Faire, Box 1579, Palo Alto,
CA 94302. 336 pp., softbound. $12. 1977.
Computer Concepts for Management. Two cassette tapes, 80-
page loose-leaf manual. $150. 1976.
Developing User-Oriented Systems. Two cassette tapes,
looseleaf manual. $175. 1975. GROUP/3, 21050 Vanowen
Street, Canoga Park, CA 91304.
Albus points out that most people in our employee society are
wage slaves — no wage or salary, no income. As automation
reduces the number of real, worthwhile jobs, their place is taken
by often intrinsically worthless make-work jobs simply because
the wage is the primary method of income distribution.
People's Capitalism advocates replacing or supplementing
wages with income from a National Mutual Fund, established
by Congress and funded through loans from the Federal
Reserve System. The NMF provides capital to enable businesses
and factories to modernize and increase production. Thus the
people would be the capitalists funding industry and the
dividends of the NMF would be distributed to the people,
eventually making them largely independent of wages as a
source of income.
It’s an interesting idea, if one believes in the fanciful notion
that the United States is a democracy. However, Albus does not
adequately deal with the already massive problem of what 225
million people are going to do with leisure time coming out of
their ears, the distinction between labor and work, and the
tendency for automation to centralize power and engender a
technological elite. Also, it seems to me that distribution of the
NMF dividend would undoubtedly require assignment of a
universal product code, er, excuse me, identification number to
individuals. When that time comes. I’m going to join the neo-
Luddites.
The First West Coast Computer Faire Conference
Proceedings is very difficult to describe. It is a rich and fertile
compendium of papers covering topics that run the gamut of
everything even remotely concerning home computing.
Something for everyone, etc. If you want to know what personal
computing is all about, thumb through the Proceedings. You'll
come away wiser for it.
CCM is a very elementary introduction to Data Processing
for Management type people who have little or no prior training
in DP. The manual might loosely be termed cartoons.
118
CREATIVE COMPUTING
pe vi ews
accompanied by the professionally scripted and produced
cassettes that don’t shove facts at you more quickly than they
can be digested. This course is aimed at management above the
DPM level to give them some idea as to what goes on in the DP
department, hopefully encouraging them to ask questions now
that they have some idea how. This is a real need in some
businesses and institutions. The busy executive can go through
this course in an evening of two or three hours and then pass it
on to someone else in the company. 1 feel that this one is a little
over-priced.
DUOS is not simply a course, but a complete system. What is
being presented here is both a development system (DUOS) and
a general course on how to use any development system. The
cassettes provide a structured presentation of the system,
interspersed with nineteen question and answer breaks. A
sample system (a pension plan) is taken from beginning to end,
showing the proper use of DUOS. DUOS is a set of procedures
and forms that make up a flexible development system. This is
aimed at Data Processing Managers and System Analysts. Since
an entire methodology and even reproducible forms to get you
started are included here, I feel that this price is reasonable.
SISTM , the Society for the Interdisciplinary Study of The
Mind, has published Vol. 1 No. 1 of their journal, the SISTM
Quarterly. Articles include “Research at Yale in Natural
Language Processing,” “Consciousness as a Workspace,” and
“The Problem of Context in Neuropsychology.” Information
and membership ($10) is available from Dr. Martin Ringle,
Editor, Box 693, Phillipsport, NY 12769.
REAL TIME CLOCK
FOR S-100 BUS
* 1 MHZ CRYSTAL OSCILLATOR
* TWO INDEPENDENT INTERRUPTS
* ONE INTERRUPT USES 16 BIT COUNTER
IN 10 USEC STEPS
* OTHER INTERRUPT IS IN DECADE
STEPS FROM 100 USEC TO 10 SEC
* BOTH SOFTWARE PROGRAMMABLE
* BOARD CAN BE SELECTED BY 128 DEVICE CODE PAIRS
* COMPLETE DOCUMENTATION INCLUDES SOFTWARE
TO DISPLAY TIME OF DAY
DOUBLE SIDED SOLDER MASK
SILK SCREEN PARTS LAYOUT
$30. BARE $199. KIT
$229. ASSEMBLED AND TESTED
DEALER INQUIRIES INVITED UNIVERSITY DISCOUNTS AVAILABLE
\A/mr - ™ wamecoinc -
n iflC. 3107 LANEVIEW DRIVE SAN JOSE CA 95132
Travels in Computerland, or Incompatibilities and Interfaces.
Ben Ross Schneider, Jr., Addison-Wesley Publishing Co.,
Reading, Mass. 244 pp. softbound. 1974.
Ben Schneider is an English professor who had a vision. As a
theater historian, he felt it would be useful if the huge reference
work The London Stage, 1660-1800 could be contained in a
computerized data base, to assist scholars in their research. Not
knowing much of what would be involved, he jumped at the
opportunity to direct a project to achieve his goal.
Travels in Computerland is an entertaining saga of his
misadventures; the subtitle. Incompatibilities and Interfaces,
effectively summarizes Dr. Schneider’s quest. The 8,000 pages of
text were edited by graduate students scattered around the U.S.,
keyed by typists in Hong Kong, optically scanned and converted
to computer tape in London, and finally processed by the
computer at Lawrence University in Wisconsin, which was to be
the home of the London Stage Information Bank. In the course
of all this. Dr. Schneider learned of the complexities of
managing a data-processing project, of dealing with computer
companies which were unsure of just what their machines could
do, of coping with customs agents in London and at home, and
of the problems of raising funds for humanities research. That
the Information Bank became a reality at all is probably due to
his naivete in all these areas, for had he known what was facing
him, he may well have considered his task impossible from the
start.
As an outsider to “Computerland,” Dr. Schneider is able to
present simple, clear explanations of the mechanics of
information retrieval, along with some of the theory of
cybernetics. And finally, he provides a compelling demonstra¬
tion of the valuable role which can be played by computers in
the humanities.
For the Home
For Fun
For Business
PERSONAL
COMPUTERS
Discover the excitement of personal computers. Come in
and see how you can use these low cost computers at
home, for fun, or in your business. We stock all major lines
of personal computers.
THE CDIYIPUTER MART
633 West Katella Orange (714) 633-1222
(Between Newport and Santa Ana Fwys.)
Hours: Mon.-Fri. 10:00-8:00 Sat. 10:00-5:30
100% financing and leasing available
At The Computer Mart, We Do More Than Just Sell Computers
JAN/FEB 1978
Thomas A. Gutnick
Arlington, VA
119
ws... reviews... pevi
Computer Dictionary. Donald D. Spencer. Camelot Publishing
Company, Ormond Beach, Florida. 160 pp. $9.95(55.95 paper).
1977.
On the thought that “a rose is a rose is a rose" might translate
into the realm of ADP as “a word is a word is a word," I began
my review of this volume by looking up “word." I was informed
tersely and clearly (but not necessarily precisely or unam¬
biguously) that a word is “a group of bits, characters, or bytes
considered as an entity and capable of being stored in one
storage location. See KEYBOARD.” Cross-references? Good
idea. But the definition of keyboard doesn’t have anything to do
with or even reference “word." Sloppy, but not fatal.
I decided to let myself be led about by the cross-references and
looked up “microcomputer." I was led through “home
computer," “personal computer," “computer kit," and
“microprocessor," all of whose definitions taken together give a
good feel for what the subject is all about. If one is curious about
the acronyms used in the definitions, they are all available in the
dictionary itself. As a matter of fact, this book can be very useful
to its intended audience in sorting out the alphabet soup that
tends to creep even into articles written “for the layperson."
Included are such acronyms as ASCII, ASR. KSR, MOS, LSI,
and even GIGO. Look up ROM or PROM and you see the real
words all laid out. You also find a closed loop — poor debugging
techniques, I presume — when PROM says “See PROM" as its
cross-reference.
Some definitions are indeed definitions, but are wrong. The
ILLIAC IV is no longer in Illinois, but several years ago was
moved to the Ames Research Labs in California. IBM is not the
only manufacturer of a 96-column punch card. These are simply
instances of information being overtaken by events. Not so with
the definition of multiprocessing which is too much directed at
the program rather than at the hardware technique involved. It
should say that multiprocessing is the simultaneous execution of
two or more sequences of instructions by multiple central pro¬
cessing units under common control. And, for the record, the
real definition of “kludge" is “an ill-assorted collection of poorly
matching parts, loosely fit together to form a distressing whole."
But its inclusion is indicative of M r. Spencer’s sense of humor
where else could you find “gulp" defined? (It’s a small group of
bytes.)
Mr. Spencer’s book is described as an authoritative reference
book designed to assist students, technical readers, and non¬
specialists whose work is to some extent affected by the
computer. It is a good volume, but not necessarily an exhaustive
or precise one. It can serve as a useful reference for the outright
novice and as a memory jogger, but by no means the ultimate or
complete authority, for the technically-oriented. A library could
do much worse than to have it on the shelf. But, hopefully some
future revision will make the next edition even better.
Deanna J. Dragunas
Wetumpka, AL
Computer Programming Handbook. Peter R. Stark. TAB
Books, Blue Ridge Summit, PA 17214. 506 pp. $8.95. 1975.
This is a great book ... for the right person. Essentially, it is an
introduction to programming, first in machine language, then in
assembly language and finally in a higher-level language
(Fortran). But it also contains a significant section on
programming techniques that, although most of the examples
are worked out in assembly language, covers a broad variety of
topics beyond what one would ordinarily encounter in an
introduction to programming and covers them very well. And
it contains short sections on the history of computers,
computer applications, computer organization and flowchar¬
ting as well. There’s a lot of stuff here, and by and large it’s very
well done.
I found this book very well written and easy to follow but that
can be misleading. I think I knew most of the things that Stark
discusses before I read his discussion. Still, he has a good knack
for writing clearly and I don’t think that I am wrong in saying
that his explanations would work well, even for people for
whom what he is explaining is new. If you have a modicum of
mathematical ability (you didn’t flunk highschool algebra) you
should find this book fairly easy to follow. You will have to
MACC COMPUTERFEST
Exhibits
^MANUFACTURERS
♦CLUBS & STORES
Movies
Games
Flea Market
For Information
P.0. Box 9578
North End Station
Detroit, Mich. 48201
SEMCQ
SPONSOR
Presentations
COMPUTERS IN
♦THE HOME
♦SCHOOL
♦ART & MUSIC
♦YOUR FUTURE
♦ SOCIAL IMPACT
DETROIT PLAZA HOTEL
JUNE 23-25, 1978
ICHIGAN
C OMPUTER
Organization
The Best ol
creative
computing
Volume 1 Edited by David H. Ahl
The diversity in The Best of
Creative Computing — Vol¬
ume 1 can only be described
as staggering. The book
contains 328 pages of articles
and fiction about computers,
games that you can play with
computers and calculators,
hilarious cartoons, vivid
graphics and comprehensive
book reviews.
Authors range from Isaac
Asimov to Sen. John Tunney
of California; from Marian
Goldeen, an eighth-grader in
Palo Alto to Erik McWilliams
of the National Science
Foundation; and from Dr.
Serna Marks of CUNY to
Peter Payack, a small press
poet. In all, over 170 authors are represented in over 200
individual articles, learning activities, games, reviews and stories.
This 328-page book has 108 pages of articles on computers in
education, CAI, programming, and the computer impact on
society; 10 pages of fiction and poetry including a fascinating
story by Isaac Asimov about all the computers on earth linking up
after a nuclear war to support the few remaining survivors; 15
pages of "Foolishness” including a cute cartoon piece -
called"Why We’re Losing Our War Against Computers"; 26 pages
on "People, Places, and Things” including the popular feature
“The Compleat Computer Catalogue” which gives capsule
reviews and lists sources for all kinds of computer-related
goodies; 79 pages of learning activities, problems and puzzles; 29
pages continuing 18 computer games including a fantastic
extended version of the single most popular computer game —
Super Star Trek; and 32 pages of in-depth book and game reviews
including Steve Gray’s definitive review of 34 books on the Basic
language.
The Best of Creative Computing - Volume 1 is available by mail
for $8.95 plus 75$ postage from Creative Computing Press, Attn:
Alyce P.O. Box 789-M, Morristown, N. J. 07960.
THE BEST OF
creative
computing
VOL. 2 EDITED BY DAVID AHL
This fascinating 336-page book contains the best of the
articles, fiction, foolishness, puzzles, programs, games, and
reviews from Volume 2 issues of Creative Computing magazine.
The contents are enormously diverse with something for
everyone. Fifteen new computer games are described with
complete listings and sample runs for each, 67 pages are devoted
to puzzles, problems, programs, and things to actually do.
Frederik Pohl drops in for a visit along with 10 other super
storytellers. And much more! The staggering diversity of the book
can really only be grasped by examining the contents, or better
yet, the book itself.
Price is $8.95 plus $0.75 shipping and handling in the USA
($9.70 total); outside USA, add $1.00 ($10.70 total). Individual
orders must be prepaid. Creative Computing Press, Attn. Alyce
P.O. Box 789-M, Morristown, NJ 07960.
think, of course, but there are lots of worked-out examples to
help you and Stark tells us that they have been checked out on a
computer so they shouldn’t be misleading. His explanations of
algorithms are unusually clear. I particularly liked his brief
history of the computer, his explanation of what a subroutine is,
what a function is and a number of nice little points like the clear
way he explains Newton’s algorithm for finding square roots.
The machine and assembly languages are simplified versions
and the higher-level language is Fortran. The index is good.
The book has fairly broad scope and it is probably best for
somebody who knows a bit about programming and wants to
read clear explanations of things that he or she has not yet
learned. 1 suspect it’s not really a good first book on computers
although it might be that for the right (smart) reader. It’s a good
second book though.
Peter Kugel
Chestnut Hill, MA
Eight Statement PL/ C (PL/ZERO) plus PL/ ONE. Michael
Kennedy and Martin B. Solomon. Prentice-Hall. 512 pp.,
paperback. $10.50. 1972.
Eight Statement PL/C is designed to teach a beginner the
fundamentals of programming in PL/1. True to its title, the
book teaches an eight-statement subset which is enough to get
any beginner off to a flying start in the language. The
PROCEDURE, END, DECLARE... FLOAT, GET LIST,
PUT SKIP LIST, IF ... THEN, arithmetic assignment, and
GOTO statements are covered very thoroughly in a 100-page
section. The second section introduces a wider subset of PL/1; it
includes fixed binary and character type declarations, DO
looping, input/output editing, and internal procedures. Part
three contains short chapters on selected PL/1 topics such as
data-directed input/output, conditions (e.g. ENDFILE,
ZERODIVIDE, etc.), debugging aids, complex numbers,
PICTURES, record I/O, list processing, and the more advanced
storage allocation techniques for static, controlled, and based
variables.
By now, perhaps you may tell that the book advances far
beyond the basic “eight-statement” language. Nevertheless, it is
a book for beginners. There are appendices on the punched card,
simple keypunch operating instructions (excellent for the
beginner), algorithms and flowcharting, computer system
basics, numerical inacuracies (floating poim error), a snort
history of who made which computer when, and a summary of
the idiosyncracies of each of the IBM PL/1 compilers as well as
Cornell’s PL/C. There is a variety of laboratory problems
provided and each is cross-referenced by the sections of the book
that should be covered prior to attempting it.
Eight Statement PL/ C is full of good illustrative examples
and has been constructed so that immediately after a concept
has been introduced, an example appears. Then the authors
present a complete explanation of the feature (with appropriate
references to the sample, of course). Not only does this
technique stimulate asking questions about examples before
being given “the answer”(which study experts claim is a good
way to absorb something technical), but it grabs and holds the
reader’s interest much better than would a series of explanatory
paragraphs followed by a few examples.
The only fault that could be found with the book is that while
the examples are well structured and clear, the authors do not
explicitly encourage what is today called “structured”program-
ming. For this reason, in 1977 they published Structured
PL/ZERO plus PL/ ONE (Prentice-Hall, $11.50) in order to
satisfy this need. The second book differs enough from the first
that the earlier one is still in print. Structured PL/ZERO
contains a slightly different set of eight basic statements to help
the beginner with structure and it includes some philosophical
comments on the manner of programming clearly scattered
through the book. I personally prefer the earlier book for its
practical approach to the programming basics, but either could
be used in a first course in computer programming using PL/1 as
the teaching language. Both for self-study and in the classroom,
each book is excellent and worth every cent of its price.
Brian N. Hess
Western Springs, IL
JAN/FEB 1978
121
Hit the deck in shorts and
a tee shirt. Or your bikini if
you want.
You’re on a leisurely cruise
to remote islands. With names
like Martinique, Grenada,
Guadeloupe. Those are the
ones you’ve heard of.
A big, beautiful sailing vessel
glides from one breathtaking
Caribbean jewel to another.
And you’re aboard, having
the time of your life with an
\ intimate group of lively, fun-
loving people. Singles and
couples, too. There’s good food,
“grog!’ and a few pleasant
comforts... but there’s little
H resemblance to a stay at a
fancy hotel, and you’ll be
happy about that.
Spend six days exploring
paradise and getting to know
congenial people. There’s no
~. other vacation like it.
Your share from $265. A new cruise is forming now.
Write Cap’n Mike for your free adventure
booklet in full color.
Windjammer Cruises.
P.O. Box 120, Dept. 581
Miami Beach, Florida 33139
122
From: Kemeny, John G. Man
And The Computer. New York:
Charles Scribner’s Sons, 1972.
pages 80-81.
“I consider it imperative for
the benefit of mankind that
during the next decade com¬
puters become freely available at
all colleges and universities in
the United States and that most
students before graduating ac¬
quire a good understanding of
their use. Only if we manage to
bring up a computer-educated
generation will society have
modern computers fully avail¬
able to solve its serious prob¬
lems. While computers alone can¬
not solve the problems of society,
these problems are too complex
to be solved without highly
sophisticated use of computers. I
see three major bottlenecks that
must be removed if this goal is to
be achieved.
“First, most university com¬
putation centers are still
research-oriented. They are typi¬
cally operated in a batch-proces¬
sing mode with priorities given
to a very small number of users
who need a great deal of time.
The philosophy of university
computation centers must be
changed.
“Second, college administra¬
tions do not yet appreciate the
immense favorable impact that a
good educational computation
center can have on their insti¬
tution. I would like to propose
that by 1980 no college or uni¬
versity should be given full
accreditation unless computer
services are freely available to all
students. Use of the compu¬
tation center must be considered
the exact analogue of use of the
library.
“Finally, the implementation
of this program for millions of
students will take a great deal of
money..
“HANDS-ON”
AND FAST TURNAROUND
-A MUST FOR
A SUCCESSFUL PROGRAM
by THOMAS J. CASHMAN and GARY B. SHELLY
INTRODUCTION
A continuing controversy in schools
teaching computer programming concerns
the need for “hands-on” experience in the
data processing curriculum. Is “hands-on”
experience necessary in teaching data
processing and computer programming?
What about turnaround time? In many
schools, the students are not allowed to
have any contact with the computer. In
addition, students may receive only one or
two “runs” a day for programs written for
class assignments. The authors feel
Reprinted with permission from The Compiler, a news¬
letter for business data processing educators. Copyright
1975 by Anaheim Publishing Co., 1120 East Ash,
Fullerton, CA 92631.
strongly that students must have actual
experience on the computer and that the
turnaround time for student assignments
must be as fast as the computer center can
process, not what might be expected in
industry.
LOSS OF COMPUTER
The scenario at many schools runs
something like this: In the beginning,
instructors have gone to the administration
requesting a computer for instructional
purposes, pointing out the vocational
opportunities in data processing. The
administration has enthusiastically agreed
with them and authorized the leasing or
purchase of hardware, on the grounds that
the school should have a strong instruc-
Speech synthesis is a reality. It's
not perfect yet. It often requires a
moment's listening to catch the
machine's accent. But talking com¬
puters do now exist, and one of
them could be yours.
The Model 1000 Speech Syn¬
thesizer is the finest speech syn¬
thesizer built in its price class. No
comparable unit exists. Nor is there
one as easy to program. The Model
1000 was made to act like a parallel
TTY device - only it speaks the
characters rather than types them.
And it requires no larger a driver
program to support it than a TTY
would. It's all on one board and it's
S-100 compatible.
Write today for more information.
We've sold a couple of hundred of
the units in the last few months, so
we know you'll be pleased. A
programming manual is available for
$4.00 (with interfacing information);
a demonstration tape costs $5.00.
When ordered together, the com¬
bination is only $7.50. And it's
refunded upon purchase of a Model
1000. The Model 1000 itself is only
$380.00.
P.O. Box 4691 (505) 526-6842
University Park, New Mexico 88003
J
JAN/FEB 1978
123
Demo Record
(stereo LP)$2
includes 4th class
postage in USA. For
1st class, add $2.
Synthesis Board:
Waveform: dual RAM,
sync switch-over,
64 elements each
with 256 levels.
Programmable filter
smooths “steps”.
Envelope: rise: 256
levels,4ms to 1.3s.
fall: 256 levels, 3ms
to 7.8s. sustain:
256 levels.
Volume: 256 levels.
MUSIC.
— i; m
IfiitmTir
umtmft!
Produce music
with your micro
for $159 or less.
Quad chromatic pitch
generators are S-100
boards (parallel ver¬
sion available)which
produce 1 to 4 tones
at once, each tone
any of 96 pitches*
Square wave output
plugs into your amp
1,2,and3 tone units
($111,$127,&$143kit)
are expandable to 4
tone unit ($159 kit,
$185 assembled). All
units expandable to
include synthesizer
features.
Pitch:96, piano range
&8higher.* Price: $220 (kit).
* If 2MHz clock is unavailable (on pin 49 for S-100 units), ask about our crystal option, $16.
COMPUTER-CONTROLLED MUSIC SYNTHESIZER SYSTEMS.
Our Synthesis Boards (specs and price given above left) are professional synthesizers
for serious musical applications such as studio recording, live performances, and
educational use. An S-100 controller (parallel version available soon) runs 1 to 8
synthesis boards; the price is $88 to $180 depending on cables required. Write for
information on these products, and a complete description of our synthesis methods
and how they compare with others’. Dea|er inquirjes jnvjted
A L F PRODUCTS IIMC. 8080 software available at cost.
Both products featured on LP.
DENVER, CO 80228
tional program in data processing. When
the computer arrives and the data
processing program begins, students have
the opportunity to operate the computer,
experiment with the computer, and
generally learn and have fun in their data
processing classes. As a result, student
enthusiasm runs high.
With the passing of time, however, an
“administrator” realizes that none of the
grading, scheduling, payroll, or other
applications which could be on the
computer are being processed. Therefore,
he convinces the powers-to-be that the
administration should take over the data
center and process administration appli¬
cations. Control of the data center then
falls into the hands of the administration,
who will determine when programs for
students will be processed.
A data processing manager is hired.
Students can’t be allowed in the data
center; it is reasoned that “all those
students milling around is no way to run a
‘shop’.”
As more and more processing for the
administration is placed on the computer,
the instructional program becomes less
and less important. Student programs are
run once or twice a day instead of the six or
seven times a day as previously. Instead of
receiving a class assignment back in 15
minutes, the student must wait four or five
hours. When complaints are raised by the
instructional staff they are told “You’re
lucky to get 4- or 5-hour turnaround
time—in industry 24-hour turnaround time
is common.” The instructors reply “This is
not industry, this is an educational/
academic environment in which the
important objectives are to motivate, to
stimulate, and to develop a spirit of inquiry
and research.” Such statements commonly
fall in deaf ears. “That’s not the way it’s
done in industry” is the continued reply.
Student enthusiasm for data processing
wanes, students are learning less because
of no access to the machine, enrollment
goes down because of a lack of student
interest, the administration points out that
the only justification for the computer is
now administration processing because of
low student enrollment, and, as a result,
the initial justification for the computer,
that is, the instruction in data processing,
takes a back seat to every other type of
processing on the computer.
If this scenario sounds familiar, do not
despair. Hundreds of schools in the United
States and Canada are facing the same
problem. The surest way to weaken and
destroy a viable data processing educa¬
tional program is to take control of the
computing facilities away from the instruc¬
tional staff and place it in the hands of
“professional” data processing managers
whose job depends upon the processing of
administrative applications.
ARGUMENT OF
DATA PROCESSING MANAGERS
As previously pointed out, the argument
of these “professional” data processing
managers runs along tw r o lines. First, they
argue that programmers in industry do not
have access to the computer and they get
along fine. Secondly, they point out that in
industry, many programmers only get one
test run per day. They conclude that this
should work for students also.
The flaw in both these arguments is the
fact that students in a data processing
instructional program are not program¬
mers in industry. An extremely important
element in any successful educational
program is the student MOTIVATION and
enthusiasm for learning. Although it may
be difficult to quantify, it has been the
authors’ experience that enthusiasm for
learning is almost directly related to access
to a computer when teaching data
processing. The more the student is
exposed to the computer and the better
access he has to it, the more he will learn
and the more he will want to learn.
It has been observed numerous times
that when students operate in a “hands-
on” environment, for many their learning
far exceeds that which is expected in the
class, their knowledge gained quickly
exceeds that of their instructor, and many
students become software system experts!
What a great compliment to the computer
as a motivating device for learning. What a
shame to prevent these learning experi¬
ences from occurring! The authors have yet
to contact or observe a school that operated
on a closed-shop basis that produced
operating system experts—experts in
DOS, OS, etc.
It seems ironic that instructors with
many years of experience in the classroom
successfully teaching data processing and
computer programming are told by ad¬
ministrators or data processing managers
(who, by the way, have never taught a class
in computer programming) that “hands-
on” experience is not necessary!
As noted by Malcolm G. Lane from West
Virginia University, “Experience has
shown that the ‘hands-on’ approach is an
excellent way for students to learn
meaningfully the operating system prin¬
ciples being studied in the course and to
observe the effects of well- and poorly-
designed systems. One reason is that
computer science students gain an enthu¬
siasm in the course when the ‘hands-on’
approach is used; this enthusiasm is more
difficult to provoke when other methods
are used.” 1
124
CREATIVE COMPUTING
MUST
EXPERIENCE COMPUTER ACTIVITY
In addition, it is extremely difficult to
teach programming without students ex¬
periencing the satisfaction, and even thrill,
of seeing their program work. Teaching
programming without access to the
machine is like teaching chemistry without
access to a chemistry lab or teaching
literature without reading the book.
Certainly an instructor in chemistry can
describe what happens when a match is
held to a test tube of oxygen, but when the
student does this and sees the combustion,
it is something which he will not soon
forget. An English teacher can talk about
the Odyssey and describe the travels of
Odysseus, but without reading the book
the student never experiences the learning
process.
“Teaching programming without
access to the machine is like
teaching chemistry without access
to a chemistry lab or teaching
literature without reading the
book.”
The same is true of computer program¬
ming. Without experiencing the lights
flashing, the cards being read, and the
program and output being printed, the
student misses a critical part of the
learning process. In addition, with access
to the computer, the student can experi¬
ment with features of the hardware and
operating system which would not be
possible without access to the machine.
EDUCATORS RECOGNIZE THE NEED
At Scott Community College in
Bettendorf, Iowa, a “continuous effort is
made to provide the type of training
needed by students and required by
business.” As a large part of their quality
program, “students have almost unlimited
hands-on time in a realistic multipro¬
gramming environment.”2 They have
1 Lane, Malcolm G., Department of
Statistics and Computer Science, West
Virginia University, Morgantown, West
Virginia, “A Hands-On Approach to
Teaching Systems Programming,”
SIGCSE Bulletin, February 1975, Vol¬
ume 7. Number 1.
2 Stone, L.E., Director - Data Processing,
Scott Community College, Bettendorf,
Iowa, “DP Training—Meeting the Real
Needs of Business.”
recognized the undeniable requirement of
hands-on experience for programming
students when learning computer pro¬
gramming.
Undeniably, this is a difficult argument
to present to an administration which has
its ‘‘professional” data processing
manager stressing to it that this is not the
way things are done in industry. However,
it appears that a number of schools at this
time are allowing hands-on experience for
their students. Professor Marjorie M.
Leeson, Delta College, University Center,
Michigan, conducted a survey of 72
community colleges and found that 54 of
these schools allow some type of hands-on
for their programming students.^ Al¬
though this is encouraging, the authors
have found that the trend is away from
hands-on as more applications of an
administrative nature are put on the
computer.
Thus, it is very important that admini¬
strators be made aware of the importance
3 Leeson, Marjorie M., Delta College,
University Center, Michigan, Summary
of Results, Data Processing Question¬
naire.
of hands-on experience for the program¬
ming students. Perhaps an effective
method to illustrate the point is to invite
administrators to a Saturday class in which
they will be taught enough of a language to
write two programs. On the first program,
they are allowed to enter the computer
room, run the machine, see their program
being produced on the computer, and get
immediate turnaround. On the second
program, they must wait two hours for
their first run and two more hours for their
second run. In addition to probably not
completing the assignment, these admini¬
strators, as are the students, will be very
frustrated.
CONCLUSION
If your school has not yet reached the
point where the computing facilities have
been taken out of the instructional
program’s hands, fight to not let this
happen. Where it has happened, you owe a
duty to yourself and your students to
vigorously fight to regain access to the
machine which is so vital to a successful
data processing program. ■
HOBBYISTS! ENGINEERS! TECHNICIANS! STUDENTS!
Write and run machine language programs at home, display video graphics
on your TV set and design microprocessor circuits — the very first night
— even if you’ve never used a computer before!
RCA COSMAC microprocessor/mini¬
computer
SPECIFICATIONS
ELF II features an RCA
COSMAC COS/MOS 8-bit
microprocessor address¬
able to 64k bytes with
DMA, interrupt, 16 regis¬
ters, ALU, 256 byte RAM,
full hex keyboard, two
digit hex output display,
5 slot plug-in expansion
bus, stable crystal clock
for timing purposes and a
double-sided plated-
through PC board plus
RCA 1861 video IC to dis¬
play any segment of mem¬
ory on a video monitor or
TV screen.
USE ELF II FOR...
GAMES
Play interactive keyboard games,
games with analog inputs, games
utilizing your TV set for a video
display!
GRAPHICS
Create pictures, designs, alpha-
numerics and fabulous animated
effects on your TV screen for
hour after hour of family fun!
CIRCUIT DESIGN
Design circuits using a micro¬
processor. Use ELF II as a
counter, alarm system, lock,
controller, thermostat, timer,
telephone dialer, etc. The pos¬
sibilities are infinite!
Coming Soon!
Exclusive Netronics Plug-In
Program Debugger and monitor
allows visual display of any
program on a clock pulse by
clock pulse basis to help you
learn programming f-a-s-t! • 4k
memory • Cassette I/O • D to
A, A to D • Controller plug-ins.
A THOUGHTFUL GIFT
FOR ANYONE WHO MUST
STAY UP TO DATE IN
COMPUTERS AND
ELECTRONICS'
$gg 95
■ — — SEND TODAY
NETRONICS R&D LTD., Dept. CC11
333 Litchfield Road, New Milford, CT 06776 Phone (203) 354-9375
Yes! I want to run programs at
home and have enclosed:
□ $99.95 plus $3 p&h for RCA
COSMAC ELF II kit. Featured
in POPULAR ELECTRONICS.
Includes all components plus
everything you need to write
and run machine language pro¬
grams plus the new Pixie chip
that lets you display video
graphics on your TV screen. De¬
signed to give engineers practice
in computer programming and
microprocessor circuit design,
ELF II is also perfect for college
and college-bound students (who
must understand computers for
any engineering, scientific or
business career). Easy instruc¬
tions get you started right away,
even if you’ve never used a com¬
puter before!
As your need for computing
power grows, five card expan¬
sion bus (less connectors) allows
memory expansion, program de¬
bugger/monitor, cassette I/O, A
to D and D to A converters,
controllers, etc. (soon to be
available as kits). Manual in¬
cludes instructions for assembly,
testing, programming, video
graphics and games plus how
you can get ELF II User’s Club
bulletins. Kit can be assembled
in a single evening and you’ll
still have time to run programs,
including games, video graphics,
controllers, etc., before going to
bed! □ $4.95 for 1.5 amp 6.3
VAC power supply, required for
ELF II kit. □ $5.00 for RCA
1802 User’s Manual.
□ I want mine wired and tested
with the power transformer and
RCA 1802 User’s Manual for
$149.95 plus $3 p&h.
Conn. res. add sales tax.
NAME_
ADDRESS—
CITY_
STATE-
ZIP
□ Send info on other kits!
Dealer Inquiries Invited
JAN/FEB 1978
125
ADM-3A
IN KIT $
FORM
00* Plus Shipping
and Handling
• 80 CHARACTERS/LINE
• 24 LINES/SCREEN
• ADDRESSABLE CURSUR
• 9, 10, or 11 BIT WORDS
• 75-19,200 BAUD
• FULL & HALF DUPLEX
• ODD/EVEN/NO PARITY
• RS232 INTERFACE OR
20 ma CURRENT LOOP
GET COMPLETE DETAILS WITH A DIRECT CALL:
214 258-2414 TWX 910-860-5761 TELEX 73-0022
800 527-3248
214 ZS0-Z414 IWX 910 H60-b7
Ira capital
930 N. BELTLINE
equipment brokers
IRVING, TEXAS 75061
% w y 0 ,L
New York City & Long Island
IMSAI, SWTPCo, Digital Group
Processor Tech, Apple, OSI
TDL-Z-80, Seals, Cromemco,
Veras, Tarbell, Oliver
Magazines, books, chips,
sockets, connectors, terminals.
IT'S ALL HERE WAITING FOR YOU
FRIENDLY ADVICE TOO
New York City
118 Madison Ave.
(Enter on 30th St.)
New York 10016
212-686-7923
(Tues. thru Sat.)
The square n
It’s 1.99999. Those of us who have
used either computers or desk cal¬
culators for a long time are familiar
with the problem. Most of the time
everything seems to come out with
good answers, but once in a while
something obvious just isn’t right.
Oh where has my integer gone?
There are three sources of error
inherent in the computing process
which can cause these problems.
The first is word size. No machine
made is capable of representing all
the digits in an irrational fraction.
It is possible to do exact computa¬
tions by carrying numerator and
denominator separately and never
dividing, but this is a trick used
by mathematicians and numerical
analysts and rarely finds its way
into everyday computing.
The second source of error is that
all mathematical routines used to
find functions such as* square roots
are approximations. To build a
program which calculates the most
accurate value of the function that
can be represented in the machine
(in error by at most one least sig¬
nificant bit) would require more
computer time and storage space
than the result is worth.
There is a continuous tradeoff
among speed, accuracy and size.
Each designer has mixed these in
his own proportions, and his choice
may not coincide with yours. That
last single bit error, though, is a
result of having a finite word size,
and cannot be improxed. This
means that the square root of 4
may come out 1.99999. Although
this may insult some users who feel
that “the computer ought to be able
to get it right’’ and who know that
the square root of 4 is 2, it is an
inevitable consequence of working
with real computers.
Trying to make matters better
would almost certainly make them
worse. It is possible to design a
function program that would give
the “right” answer for some value
(e. g., square root of 4 is 2.00000).
This would most likely cause the
margin of error for all other values
to be greater.
Round off, one-two
It is also possible to build in an
automatic round-off to a function.
A small amount could be added to
the answer after it was caculated,
and a round-off attempted. This
would give 2 as the square root
of 4, even though 1.99999 was com¬
puted. As with the previous pro¬
cedure, however, you would make
matters worse more often than you
would fix them. Let’s suppose that,
as a result of some previous calcu¬
lations, you need the square root
of 3.99996. You don’t see this
figure since each calculation falls
126
CREATIVE COMPUTING
)t of 4 is not 2
Philip Stein
directly on the heels of the next.
The correct answer is 1.99999, but
the square root program gives you
2.00000. Just as large, just as wrong.
A base violation
The third source of error is con¬
version. Almost all minicomputers
operate in binary internally. Al¬
though it is possible to exactly con¬
vert integers from decimal to binary
and back, the same is not true of
fractions or of numbers with both
integer and fractional portions. In
addition, frank errors in the conver¬
sion procedure due to coding bugs
are always possible. Because of
this, exact answers in binary may
become inexact in decimal.
This source of error is avoidable
to some extent. When you program,
it pays to keep intermediate results
in binary form. In Fortran , for ex¬
ample, use unformatted reads and
writes when using mass storage to
save temporary data which won’t
fit in memory. This leaves the data
in binary and avoids two passes
through the format converter. In
Basic , binary i/o is usually not
possible, but you may be able to
organize your programs so that they
do not use more memory than is
available. If your Basic supports
program overlays but allows you to
keep data, you may be able to com¬
promise with many segments of
code and only one data area.
But what to do?
Basically, you just have to get
used to the fact that computer errors
and round-offs are part of life. As
we just demonstrated, attempts to
get rid of them almost always result
in generating more. If you are
teaching neophytes, maybe you
could convert the outrageous prop¬
osition that the square root or 4
is not necessarily 2 into a strong
lesson in numerical analysis and the
limitations of computing everything
digitally.
Another good exercise is to draw
a graph showing the difference be¬
tween the computer value of a func¬
tion and the “correct” value (usu¬
ally obtained from a reliable table).
This chart should show some pe¬
riodic structure in which the com¬
puted value oscillates around the
correct value. You should be able
to draw error bands showing the
maximum error in the function rou¬
tine. With this tool, you could
demonstrate that rounding programs
or approximations designed to give
the best answers for certain inputs
will almost certainly have larger er¬
ror bands for all inputs. If they
don’t, you may have discovered
something.
Reprinted with permission from Computer Decisions , Sep.
1975. Copyright 1975 bv Hayden Publishing Co., Rochelle
Park. N.I.* ■
Are You
Overworked?
Are you still doing those things that
your computer should be doing for
you? We are developing those utili¬
ties and subsystems that will allow
you to spend more time getting to
the essence of your development.
The latest product in
our software line is:
The Dynamic
Debugger
Our Dynamic Debugger is a revolu¬
tionary approach to debugging. Un¬
like conventional debuggers, which
are passive instruments that must be
tediously guided to locate errors, the
Dynamic Debugger is an intelligent
companion which can quickly pin¬
point problem areas.
Call or write for detailed specs
COMPUTER MART
OF NEW JERSEY, INC.
501 Route #27
Iselin, N.J. 08830
(201) 283-0600
Store Hours: Tues. thru Sat. 10 am-6 pm
Tues. and Thurs. 'til 9 pm
THE
MICROCOMPUTER
PEOPLE
VIRGINIA
HOME COMPUTER
CENTER
DEC 2927 Va. Beach Blvd.
Apple Va. Beach, VA 23452
Vector Graphics (804) 340-1977
TDL
Polymorphic
RCA
Processor Technology
North Star
Digital Systems
p ersc j 12588 Warwick Blvd.
Newport News, VA 23606
(804) 595-1955
THE DEVIL’S DUNGEON
is a journey into a bottomless dungeon haunted
by fantasnic creatures. This search for gold
and adventure is enjoyed by my entire family.
I can send you the unpackaged program listing,
Instructions, flowchart, variables listing, and
suggested modifications for $2. Postage Paid.
C. William Engel, P0 Box 16612, Tampa, FL 33687
JAN/FEB 1978
127
SYBEX
HAS
ANSWERS!
• BOOKS
• IN-HOUSE
TRAINING
• SEMINARS
• CONSULTING
microprocessors:
from chips to systems
by Rodnay Zaks • <£0 00
The basic book for understanding microprocessors and microcomputers. It presents all the
fundamental concepts as well as the detailed application techniques. It will show you, in detail,
how a microprocessor operates, critically review existing MPU’s, explain how to interconnect the
various chips into a system, and which alternatives are available. It is based on the author’s ex¬
perience in teaching microprocessors to more than 2000 persons, as well as developing systems.
It will take you step by step until the actual interfacing to peripherals. 400p.
CONTENTS:
• Fundamental Concepts • Internal Operation of an MPU • System Chips • Comparative Micro¬
processor Evaluation • Assembling a System* Applications • Interfacing • Programming • System
Development • The Future p_ _ __________ _ .
ALSO AVAILABLE:
• CASSETTES (2 cassettes = 2 l A hour + special book)
51 • INTRODUCTION TO MICROPROCESSORS.$29.95
52 - MICROPROCESSOR PROGRAMMING.$29.95
• MICROPROCESSOR INTERFACING TECHNIQUES, by Austin Lesea and
Rodnay Zaks. Ref C207. From keyboard to CRi and Floppy Disk,
including Trouble-Shooting.$9.95
• MD- 10-language International Microprocessor Dictionary.$1.95
1 micrn
TPCgSSflfll
i
III
FOR INFORMATION ON
IN-HOUSE TRAINING:
USA: SYBEX Inc, Publications Dept, 2161 Shattuck Ave,
Berkeley, Ca 94704. Tel:(415) 848-8233. Telex: 336311.
EUROPE: SYBEX-Europe, 313 rue Lecourbe,
75015 Paris, France Tel: (1)8282502, Telex: 200858
ORDER FORM
Name_
Position
Company
Address_
Amount Enclosed
(in California, add tax)
□ BankAmerlcard
Number_
Signature_
□ Mastercharge
.Expires _
Fast Shipping: add $1.00 (UPS)
Creative Computing
C201
f \
MICROPROCESSOR INTERFACING TECHNIQUES
Austin Lesea and Rodnay Zaks. Ref C207 - Available : Oct. 15 - $9.95'
FROM KEYBOARD TO FLOPPY DISK:
The book takes you through the complete assembly of a microprocessor system: assembling a
CPU; Input-output techniques; interfacing to a keyboard, LED, teletype, printer, floppy disk, CRT,
cassette-tape; Industrial interfacing: analog-digital techniques; Communications; Busing and
standards, including S100, IEEE488, CAMAC. A complete case-study is presented for a multi¬
channel communication system and a chapter is dedicated to trouble-shooting techniques. Actual
interconnects are presented for a number of microprocessors, and, in particular the 8080 and
the 6800.
ALSO AVAILABLE:
•CASSETTES (2 cassettes = 2'A hour + special book)
51 • INTRODUCTION TO MICROPROCESSORS.$29.95
52 • MICROPROCESSOR PROGRAMMING.$29.95
•MICROPROCESSORS: from chips to systems, by Rodnay Zaks
The Basic microprocessor book. Ref C201.$9.95
•MD - 10-Language International Microprocressor Dictionary.$1.95
•SEMINAR BOOKS: each.$39.95
BI-MICROPROCESSORS B5- BIT-SLICES
B2-MICROPROCESSOR PROGRAMMING B6- INDUSTRIAL TECHNIQUES
B3-MILITARY TECHNIQUES B7- INTERFACING TECHNIQUES
FOR INFORMATION ON
IN-HOUSE TRAINING:
USA: SYBEX inc, 2161 Shattuck Ave, Berkeley,
Ca 94704. Tel:(415) 848-8233. Telex: 336311
EUROPE: SYBEX-Europe, 313 rue Lecourbe,
75015 Paris, France Tel:(1)8282502, Telex: 200858
ORDER FORM
Name _
Position . _
Company_
Address_
Amount Enclosed_ ■
(in California, add tax)
□ BankAmericard DMastercharge
Number_Expires _ I
Signature_ i
Fast Shipping: add $1.00 (UPS) C207 *
Creative Computing *
OF THE COMPUTER
by
Barbara Marsh
When I was working in industry as a programmer-
analyst some years ago, it seemed very clear to me that the
public should be disabused of its ignorance about
computers. I lived in the United States then, and public
concern with the effects of computers on society was often
aired. There were Senate hearings on the threat posed to
privacy (which Americans hold to be a basic right) by data
banks. Newspaper cartoons frequently expressed some
aspects of the unease people felt when confronted with a
decision said to have been made by a computer.
"Demystification” was my catchcry. No wonder people
were scared of computers if they didn't understand how
they worked. No wonder they were hostile when they
knew that computers were used extensively in a war
growing more unpopular each day. The magic phrase "Do
not fold, spindle or multilate” appeared on the punched
card which was the monthly telephone bill. In the days of
the Vietnam war, protestors had seized upon the irony of
corporate concern for the welfare of pieces of cardboard,
and sometimes sported placards at anti-war
demonstrations, saying "People: do not fold, spindle or
mutilate."
I'd thought about my own socialization as a computer
person. Nothing had been said, in formal or on-the-job
training, about the bad public image of the computer, yet
somehow we computer people felt that our specialized
knowledge made us immune to the fears that ignorance
bred. When I became involved in education, I carried with
me the zeal for demystification. People must learn how
computers worked, though by now I knew that we must
also acknowledge that computers had been involved in
some rather nasty applications, which people were quite
entitled to fear.
When the question of education about computers was
raised, then, I first advocated computer awareness and a
kind of computer literacy - courses for students, and for
teachers, in what computers did and how they worked,
aimed at demystifying the computer. I launched such a
course for teachers, and hoped they would then be able to
go out and demstify computers for their students. The level
of understanding I thought appropriate was one of
recognizing that most common applications of computers
entailed isolating some real-world task, understanding the
entities and processes involved, defining the processes as
algorithms and then writing and testing a program to
perform a representation of the processes on some
numbers or other symbols that represent the entities. Most
students I came across didn't express the need for a more
physical understanding of how things were represented
within the machine, so I never spent much time on
hardware, or binary arithmetic or Boolean logic, for
*Center for the Study of Innovation in Education, LaTrobe University,
Bundoora, Victoria, Australia 3083.
example. Teaching a little of high level language such as
BASIC seemed to be a good way to get some of the
processes across, andenabled students to write simple
programs so that they could experience the various phases
in setting and solving a problem using a computer as a
tool.
But by computer literacy I meant more, too, especially in
Australia, where most of the teachers who were my
students had never seen a punched card and where the
visibility and impact of computers, both in fact and in the
public imagination, is much lower than in the U.S.A. There
really was an information gap to fill, for teachers ought to
know the kinds of things computers were actually doing in
classrooms and in various strands within educational
research. So the course I put together covered their own
discipline, education. To help in interpreting and doing
empirical educational research, I tried to teach how to use
a large statistical package intelligently, always realizing
that without some background in statistics and some
meaningful research problem in mind, this would have
been a futile exercise. I taught some BASIC programming,
where again it is clear that unless my students had at least
one problem or class problem in mind, this tool also would
be useless. The teachers had a chance to use some fairly
low level computer assisted instruction, and we talked
about some of the questions raised or answered by C.A.I.,
computer-managed instruction and such computer-aided
augmentation of curriculum as using computer
simulations or games.
I have no wish to disown this course, nor is there much
in this range of topics I'd wi$h to change, but I've recently
had some new insights about what teachers can offer their
students. Most schoolteachers, especially those who
graduated more than fiye years ago, will not have had any
direct contact with computers in their undergraduate
education. Even today, the social and physical sciences
and mathematics are the only disciplines of which one can
safely say that most undergraduates do some work on a
computer — and then the kinds of work which are done are
fairly limited.
By contrast, consider their students today and in the
future. All of them watch a lot of television, from "Star
Trek" to "The Bionic Woman". Computers have always
been part of their world, and they are considerably less
surprised at what computers can do than are teachers
from an earlier generation. Also, it seems likely that in a
few years we'll have a computer utility, along the lines of
the telephone or even the electric power network, and also
will find microcomputers built into many home appliances
in a completely taken-for-granted way. Recreational uses
such as electronic games are becoming ubiquitious, and
the prices on units which attach to home television sets for
computerized game-playing are dropping rapidly, as
130
CREATIVE COMPUTING
IS 2$ 85 Sr fy <§- ^ $■ & %
■&‘&‘&-&X%2t<lr<l)-&&%-X-%’'¥
* $4 £s& «#<*<*
4 ?*> 4 p 4 =>^« % <8-& & % se^
$r $■ ^ : ^i <4^
$ •& % W # # $ $ S3 5?
calculator prices have already. So teachers may not need
to teach their students how to use computers, nor to tell
them what computers can do — kids may arrive in school
with this knowledge, much as they arrive knowing how to
use the telephone or how to work a T.V. set. Demystifica¬
tion might be a beginning for teachers, but their students
can hardly be said to need it!
What then can teachers offer their students? It is my
belief that as adults with a good deal more experience in
the world, they may have perspectives which can be quite
valuable. Perhaps I could best characterize what they
might offer as an understanding of the "rhetoric" of the
computer, the ways computers, seen as media, are able to
persuade us. An analogy may be useful here. While
television and newspapers can present the news or other
information with great immediacy, insight and depth,
these media can also slant information by a variety of
means, from selection of which items to report and which
to omit, through biased reporting, to rather more subtle
means such as editing and the use of montage.
Analogously, the computer mediates information for us.
Certain kinds of information are not included in computer
analyses, and others may be disloged by the means of data
collection employed prior to computer processing. Some
constraints are inherent in the knowledge representation
systems used. Certain kinds of information can be handled
superbly well by computers, and others may be distorted
beyond recognition.
JAN/FEB 1978
I believe people ought not emerge from schools at the
mercy of what they see on television, what they read in the
newspapers (if, in fact, they read), or what a computer
analysis tells them is the case. The television may define
what are "the issues", and computer analyses may
provide "the answers," but we must try to provide an
education which leaves room for students to make their
own evaluations and decisions. They should be able to
assess the appropriateness of the computer mediation of
the information dealt with, and have some idea of where to
look to find what computers leave out. I think one way to
make this more likely to happen is to have teachers who
are able to think about computers as persuasive media
whose output must be evaluated. Most of the
characteristics of computerized information systems are
present in computer uses in education, such as empirical
research data processing, the various kinds of computer
assisted learning, and artificial intelligence, so a con¬
sideration of such applications could be used as one data
base for a study of the rhetoric of the computer. I intend to
do just that in my new course for teachers, and I hope that
they'll find ways to communicate this approach to their
students, whether in social studies, English or even
mathematics classes. It's time to stop imagining that
computer literacy begins and ends with programming and
that computer awareness means discussing data banks as
a threat to privacy. ■
131
The rules of the game, a com¬
puter program to play it, and a
discussion of the probability of
rolling a Yahtzee.
NUMBER OF PLAYERS: YAHTZEE may be played by two,
three or four persons. It can also be played solitaire trying for the
highest possible score.
YAHTZEE RULES
OBJECT OF THE GAME: The object of YAHTZEE is to obtain
the highest score for one or more games. The player with the highest
total score for all games (up to 6 games) wins. An optional method of
scoring can be that the player who wins earns the difference be¬
tween his score and that of his opponents.
EQUIPMENT: Your YAHTZEE game consists of the following
equipment:
1 DICE CUP
1 SEt OF 5 DICE
1 YAHTZEE SCORE PAD
YAHTZEE BONUS CHIPS
Game Summary: In each turn a player may roll the dice up to 3
times in order to obtain a scoring combination. After rolling the dice,
he MUST place a score or a zero in one of the boxes in the vertical
column under the game he is playing. The game ends after 13
rounds, when all scoring boxes have been filled. The scores are
totaled and combined with bonus points on the reverse side of the
score pad to give a player his final score.
Before playing the game each player is given a score card and
either a pencil or pen (not supplied) to keep his own score.
TO PLAY:
1. To determine who goes first, each player places all five dice in
the dice cup and rolls out all the dice. The player rolling the
highest total starts the game. Play then continues clockwise.
2. In each turn a player is allowed a maximum of 3 rolls of the dice,
although he may stop after the first or second roll.
A. For the first roll he must roll all 5 dice. The five dice are placed
in the cup, the cup is shaken and the dice rolled out.
B. For the second and third rolls the player may pick up ANY or
ALL the dice and roll again. He peed not declare what he is
trying to make (what box he is trying to score in) and may
change his mind at any time.
C. The dice are final after the third roll and MUST BE SCORED.
SCORING:
Each player has his own score card. He must make his own decision
of what and where to score based on his individual strategy. In each
game there are 13 scoring rounds. A player MUST place a score or
a zero alter each turn in one of the 13 scoring boxes in the vertical
column under the game being played.
There are 13 scoring boxes on the score card. They are: • Aces.’'
’’Twos," ■Threes." "Fours,’* "Fives," and "Sixes" in the Upper Sec¬
tion, and "3 of a Kind,” "4 of a Kind," "Full House," "Small Straight."
"Large Straight," "YAHTZEE" (five of a kind), and "Chance" in the
Lower Section.
toward the linal score. If a player attains a score of 63 in the Upper
Section, he should enter the 35-point bonus in the “Bonus” box
and add this to his upper Section total. If a player is entitled to a
YAHTZEE bonus chip (as explained later), this is totaled with the
score on the reverse side of the score card.
SCORING COMBINATIONS:
1 UPPER SECTION:
a) In the Upper Section, there are "Aces” (ones), "Twos,”
"Threes,” "Fours,” "Fives." and "Sixes." If a player chooses
to score in the Upper Section, he counts and adds only the
dice with the same number and enters the total of the dice in
the appropriate box. If a player at the end of a turn has these
dice on the table and elects to take his score in the Upper
Section, he would enter 9 in the "Threes" box.
b) The player may enter the total of ANY NUMBER of the same
value dice in the appropriate box in the Upper Section. For
example, a player's linal dice are:
he may choose to score 2 in the "Aces" box, or 6 in the "Sixes”.
c) If a player is unable to place a score in either the Upper or
Lower Sections, he MUST enter a zero in the scoring box of
his choice in either section.
d) If a player scores 63 points or more in the Upper Section, he
earns a BONUS of 35 points and enters this in the "Bonus"
box in the Upper Section. (For quick calculation, 63 can be
obtained by scoring 3 of each number "Aces through sixes ")
2. LOWER SECTION;
The Lower Section of the score card is played exactly as
indicated.
a) "3 of a Kind" box may be filled in only if the dice show at
least three of the same number. For example.
would be scored 18 (total of all dice) in the "3 of a Kind" box
b) "4 of a Kind" box scores the total of all dice provided they
include four of the same number. For example:
c) "Full House" box may be scored in when the dice show any
combination of three of one number and two of another. Any
"Full House" is scored as 25 points. For example. 25 points
can be scored in the "Full House" box if the markers show
SSSHS
(NOTE: This scoring combination could also be scored in
either (1) the "3 of a Kind” box in the Lower Section as 19,
(2) in the "Threes” box in the Upper Section as 9, (3) in the
"Fives" box in the JJpper Section as 10, or (4) in the "Chance"
box as 19. (Again, the player must decide which box to
score in.)
d) "Small Straight” box can be scored in if the dice show any
sequence of four numbers. Any "Small Straight” scores 30
points. The following are examples of “Small Straights":
HE0O0
e) "Large Straight" box can be scored in if the dice show any
sequence of five numbers. Any "Large Straight" scores 40
points. The following are examples of "Large Straights":
□ □□□□
□ HQ0O
(NOTE "Large Straights” may also be scored as 30 m the
"Small Straight" box.)
f) "YAHTZEE" box can be scored if the dice show five of the
same number ("5 of a Kind"). A "YAHTZEE" scores 50 points.
One example of a "YAHTZEE" is:
Refer to "YAHTZEE Bonus” and "YAHTZEE used as a Joker"
to score more than one "YAHTZEE" in a game,
g) "Chance” box scores the total of all markers and is the one
chance to score any combination. For example:
At the end of each turn the player must place a score or a zero in
one of the scoring boxes. A scoring box can be used only once in
each game. A player can place a zero at the end of a round rather
than a score, if he believes it to be to his advantage. The boxes may
be filled in any order, according to the player s best judgment.
On the score card there is an "Upper Section" and a "Lower
Section" which, when added together, will give you a grand total
which is recorded on reverse side with bonus chips (if any) for your
final score. There are possibilities to earn bonus points which count
□ □□□□
would be scored 14 (total of all dice) in the "4 of a Kind" box.
NOTE: This could also be scored in the "3 of a Kind" box as
14 as it also meets the requirements for "3 of a Kind." The
player must decide which box to score in as only one box can
be scored in at the completion of a turn.
□ □
• •
• •
• •
could be scored as 22 (the total of all markers) in the "Chance"
box if the player chooses to score in "Chance”,
h) YAHTZEE Bonus Chips: A player receives a Bonus chip
(valued at 100 points) for his second and subsequent YAHTZEE
if, and only if. the first YAHTZEE was scored as 50 in the
132
CREATIVE COMPUTING
or 40 points in the "Large Straight" box. If all the boxes in the
Lower Section are filled, he must enter a zero in a box of his
choice in the Upper Section. HE MAY ALSO COLLECT A
BONUS CHIP IF HE IS ENTITLED TO IT.
If the YAHTZEE is scored in the Upper Section it scores the
total of the dice. (Five fours scores 20 in the "Fours" box.) The
player, in addition, would collect a bonus chip if he is entitled
to it.
"YAHTZEE" box. (If he had previously scored a zero in the
"YAHTZEE" box, he is NOT entitled to any bonus chips in
that game.)At the end of the game, the chips are totaled as 100
points each and are added to the score on the reverse side of
the score card.
"YAHTZEE used as a Joker"
A YAHTZEE may be used as a joker in the Lower Section
when both of the following conditions exist:
1) The YAHTZEE box has been previously filled with 50 or zero.
2) The appropriate box in the Upper Section has been filled.
For example, if the YAHTZEE consists of five 4's and the
"Fours" box has previously been filled.
The player marks his score in any of the boxes in the Lower
Section as follows: If the markers were
□ □□□□
he may score the total of all five markers, which in this case
equals 20 points, in any one of the following boxes: ”3 of a
Kind." "4 of a Kind," or "Chance." Or. he may score 25 points
in the "Full House” box. 30 points in the "Small Straight" box
EXAMPLE OF PLAY: If on the first roll of the dice, a player has
he might choose to go for "Twos" in the Upper Section of the score
card or "3 of a Kind" (In this case, 2's) in the Lower Section of the
score card. The player would then leave the dice marked "2” on the
table, pick up the 1,3 and 6 dice and attempt to toss more 2's on his
second roll.
If on the second roll of the dice, he has
□ □□00
he might stop there and enter 6 in the "Twos" box in the Upper
Section of the score card or 17 (total of all five dice) in the "3 of a
Kind" box in the Lower Section. Or he might choose to roll again in
the hope of getting one or even two more 2's.
If the player chooses to roll again, he picks up the 5 and 6 dice only
and tosses for his third and last roll. If. on his third roll, he has
□ □□□□
he could enter his score as 6 in the "Twos" box, 1 in the "Aces"
box or 4 in the "Fours" box in the Upper Section or 11 (total of all
five dice) in the "3 of a Kind" box or "Chance" box in the Lower
Section.
STRATEGY:
If you are not as lucky as your opponent, try to beat him with strat¬
egy. Here are a few examples:
If at the completion of You have the choice of
each turn, your dice scoring the following boxes,
show: if open:
9 points in "Threes" box in
Upper Section; or 19 points
(total of all dice) in “3 of a Kind"
or "Chance" box in Lower
Section.
20 points in "Fives" box in
Upper Section; or 22 points
(total of all dice) in "3 of a
Kind" or "4 of a Kind" box, or
"Chance" box in Lower Section.
19 points (total of all dice) in
"Chance" in Lower Section, or
4 points In "Twos” box in Up¬
per Section. This last choice,
however, puts you 2 points
below (63) for Upper Section
bonus of 35 points. To overcome this deficit, you would have to score
either 4 “Threes." "Fours," "Fives" or "Sixes" during the game to
earn the bonus.
If, in any of the above examples, all appropriate boxes were already
filled, you would have to score a zero in a blank box It would be
best if you could take a zero in an open box of the Upper Section
without ruining your chances for making 63 to earn the 35 point
bonus. If this cannot be done, a player would have to use his judg¬
ment in placing the zero so as to lose the minimum number of points.
□ □□HO
H000Q
□ □□HQ
MINIMUM HOW GAME
REQUIRED FOR BONUS TO SCORE #1
PLAYERS NAME
SCORE CARD
GAME GAME GAME GAME GAME
#2 #3 #4 #5 m
Aces HQIZ] 3 3
COUNT AND
ADD ONLY
ACES
Twos □□□= 6
COUNT AND
ADD ONLY
TWOS
Threes 000= 9
COUNT AND
ADD ONLY
THREES
Fours 000= 12
COUNT AND
ADD ONLY
FOURS
Fives 0013= 15
COUNT AND
ADD ONLY
FIVES
Sixes 18
COUNT ANb
ADD ONLY
SIXES
TOTAL 63
Bonus OROVER
SCORE
35
TOTAL UPPER HALF
3 of a kind
ADD TOTAL
OF ALL DICE
4 of a kind
ADD TOTAL
OF ALL DICE
Full House
SCORE
25
Sm. Straight IS TT’
SCORE
30
Lg. Straight ls TS ce ’
SCORE
40
YAHTZEE .‘A
SCORE
50
Chance
SCORE
TOTAL OF
ALL 5 DICE
T OT A L L0WER F H ALF
TOTAL upp^Up
GRAND TOTAL
Copyright 1956 - E. S. Lowe Company, Inc.
JAN/FEB 1978
133
Yahtzee continued....
This is the BASIC version of the dice
game Yahtzee. The game is played
according to the standard rules. The
program was Written for the
Timeshared-8 Edusystem 50, with 4K
of memory for each user, by Steve
Elias, 25 Turning Mill Road, Lexington,
MA 02173.
Following the game is a fascinating,
in-depth articleon “The Probability of a
Yahtzee: Analysis and Computation,”
reprinted with permission from School
Science and Mathematics.
5 'PROGRAM WRITTEN BY STEVE ELIAS*
7 'LEXINGTON HIGH SCHOOL# LEXINGTON* MA
10 RANDOM
15 DIM CIS)#KI 14#7>#GI5)#FI4>#H2t6)*L2t6)*B5t7}#B8I7)#ASI7 )
20 PRINT CHRS17)\PRINT CHRS<7)\PRINT CHR$<7>
25 PRINT-THIS IS THE GAME OF YAHTZEE# DO YOU WANT COMMENTS"!
30 INPUT BSX IF BS-"N0" THEN 45NIF BS-"YES" THEN 40
35 GOSUB 935XGOTO 25
40 GOSUB 995
45 PR I NT" HOW MANY PLAYERS"! MNPUT N PrOQTam LiStinQ
50 IF N< 1 THEN 45\IF N<-7 THEN 75 »
55 PRINT"THE MAXIMUM NUMBER OF PLAYERS IS 7."
70 GOTO 45
75 FOR A0-1 TO N
80 PRINT"NAME OF PLAYER #"!A0!XINPUT AS<A0)\NEXT A0
85 PRINT"VOULD YOU LIKE A SCORECARD"! MNPUT B$
90 IF BS-"N0" THEN 100MF 8S-"YES" THEN 945
95 GOSUB 935XGOTO 85
100 H-0XPRINTXA-A+1NIF A<>N+1 THEN 105XA-1
105 FOR B-l TO 5XCtB)-INTI6*RNDt0)XlXNEXT BXPRINT
110 PRINTXPRINT ASIA)!"'S NUMBERS I "1SH-H+1
115 PRINT C<1)!C(2)!CC3)!C(4)!CC5)\IF H-3 THEN 210
120 PR INT" HOW MANY"! MNPUT E
125 IF E<>25 THEN 130XGOSUB 1020XGOTO 120
130 IF E>5 THEN 120
135 IF E<0 THEN 120MF INTIEX>E THEN 120
140 IF E-0 THEN 210NIF E-5 THEN 105
145 FOR F3-1 TO 4\F(F3X0XNEXT F3
150 PRINT"VHICH DICE"!
155 ON E GOTO 160*165#170#175
160 INPUT F(1>\60T0 180
165 INPUT FC1)#F<2 >\GOTO 180
170 INPUT Ftl)*FI2)#Ft3>XG0T0 180
175 INPUT F(1)*F(2)*F(3)*F(4)
180 FOR Fl-1 TO 4XFIFl)-INTtFIFl>)XlF F<F1)>5 THEN 150
185 IF FIF1 X0 THEN 150NNEXT FI
190 FOR F2-1 TO 4\IF FIF2X0 THEN 200
195 CIFtF2)>-INTI6*RNDI0>Xl
200 NEXT F2
205 GOTO 110
210 PRINT AS<A)!"--SCOREBOARD NUMBER"!
215 INPUT I
220 IF I<>25 THEN 225XG0SUB 1020X0OTO 210
225 IF I«1 THEN 210XI-INTII >\IF I<14 THEN 245
230 PRINT"CONF IRM"!MNPUT BS
235 IF BS-"N0" THEN 210MF BS-"YES" THEN 735
240 GOSUB 935X60T0 230
245 IF KII#AX0 THEN 260
250 PRINT ASIA)!"* YOU HAVE ALREADY USED ROW #"!l!
855 PRINT-YOU HAVE"KII#A)!"POINTS IN ROW #"!l\GOTO 210
260 IF I>6 THEN 305
265 R£M***CATEGORIES ONE THR0U6H SIX
275 FOR 6-1 TO 5MF CIGX*I THEN 280XK-K+I
£80 NEXT GMF K-0 THEM 295MF K<>1 THEN 300
285 PRINT ASIA)!"# YOU NOW HAVE 1 POINT IN ROW # 1 IACES)"
290 Kt1#A>-1 \ GOTO 720
295 KII#A) —4XG0T0 620
300 KII#A)-K\GOTO 620
305 ON 1-6 GOTO 315*320#400*485#485#385*605
310 REH***3 OF A KIND# 4 OF A KIND* YAHTZEE
315 R-3XT-CI1 XCI2XCI3XCt4XCt5)XG0T0 330
320 R-4\T-Ct 1 XCI2XCI3XCI4XCt5)XG0T0 330
325 R-5XT-50
330 FOR H3-1 TO 6XH2IK3>-0\NEXT H3
335 FOR H-l TO 6XF0R Hl-1 TO 5
340 IF C<H1)<>H THEN 350
345 H8IH)-H2IHX1
350 NEXT H1XNEXT H
355 FOR H4-1 TO 6
360 IF H2IH4)>-R THEN 370
365 NEXT H4\KII#A)-*4\G0T0 620
370 IF KII*A)»50 THEN 380
375 KII#A)-TMF I<>12 THEN 395
380 PRINT CHRS17)\PRINT CHRSI7)\F0R V4-1 TO 7XPRINT CHRSI7)!\NEXT V4
385 PRINT"C0N6RATULATI0NS "!ASIA)! M YOU HAVE A YAHTZEE111"
390 PRINT CHRSI7)\PRINT CHRSI7)\FOR V4-1 TO 7XPRINT CHRSI7)!\NEXT V4
395 GOTO 620
400 REM***FULL HOUSE
405 L4-0\L5-0\FOR L-1 TO 6XL2IL X0XNEXT L
410 FOR L-l TO 6\F0R Ll-1 TO 5
415 IF CILDoL THEN 425
420 L2ID-L2IL XI
425 NEXT LI NNEXT L
430 FOR L3-1 TO 6
435 IF L5-1 THEN 450
440 IF L2IL3)<>2 THEN 450
445 L5-L5*1NGOTO 455
450 IF L2IL3)<>3 THEN 460
455 L4-L4M
460 NEXT L3
465 IF L4-2 THEN 475
470 KI9#A>-.4\60T0 620
475 KI9#A)-25\G0T0 620
480 GOTO 620
485 REM***PUT NUMBERS IN ORDER# STRAIGHTS
490 FOR Ml-1 TO 5\FOR M2-1 TO Ml
495 IF CIM1)>-CIM2) THEN 505
500 Z-CIM1>\CIM1>-CIM2)NCIM2>-Z
505 NEXT M2\NEXT Ml
510 G-0\M3-0\G3-0
515 G2-0MF 1-11 THEN 545
520 6-GMXIF G-15 THEN 600
525 READ GI1)#GI2)#GI3)#GI4)#6I5)\60T0 570
530 DATA 1#G#3#4*7*2#3*4#5#7#7*3#4#5#6#7#2#3#4*5#7# 1#2#3#4
535 DATA 1*7*2*3#4#1*2*7*3*4#1#2#3#7*4*2#7*3*4*5*2*3*4*7#5
540 DATA 2#3#7#4*5*3#7*4#5#6*3#4#7#5#6#3*4#5*7*6
545 IF G3>1 THEN 600
550 G3-G3*1NG5-0
555 FOR G4-G3 TO IG3+4)
560 G5-65+1\6IG5)-G4
565 NEXT G4
570 FOR G1-1 TO 5
575 IF CI61)<>GIG1) THEN 580NG8-G2M
580 NEXT 61
585 IF 62-1-6 THEN 590XGOTO 515
590 IF I-ll THEN 595XKII#A)-30\GOTO 620
595 KII#A)-40\GOTO 620
600 KII*A)-*4\G0T0 620
605 REM***CHANCE
610 Yl-0
615 FOR Y-l TO 5XY1-CIYXY1 NNEXT Y\KU3#A)»Y1 •
620 PRINT ASIA)!"# YOU NOW HAVE"!INTIKII#A))!"POINTS IN ROW #"!!!"* "1
625 PRINT"!"!
630 IF I>6 THEM 640
635 ON I GOTO 645*650#65S*660*665*670
640 ON 1-6 GOTO 675*680#685*690#695*700#705
645 PRINT"ACES"!X60T0 710
650 PRINT"TWOS"!NGOTO 710
655 PRIMT"THR£ES"!NGOTO 710
660 PRIMT"FOURS"!NGOTO 710
665 PRIMT"FIVES"!NGOTO 710
670 PRINT"SIXES"!NGOTO 710
675 PRINT"3 OF A KIND"!NGOTO 710
680 PRINT"4 OF A KIND"!NGOTO 710
685 PRINT"FULL HOUSE"!NGOTO 710
690 PRINT"SM. STRAIGHT"!NREST0RE*N60T0 710
695 PRINT"LARGE STRAIGHT"!N60T0 710
700 PRIMT"YAHTZEE"!NGOTO 710
705 PRINT"CHANCE"!
710 IF E-25 THEN 1030XIF 10-25 THEN 1030
715 PRINT")"
720 FOR B-l TO NNFOR Bl-1 TO 13
725 IF KIB1#B)-0 THEN 100
730 NEXT B1NNEXT B
735 FOR B3-1 TO NNB5IB3)-0NB8IB3)-0XNEXT B3
740 PRINT
745 FOR B3-1 TO NNFOR B4-1 TO 6
750 BStB3)-B5tB3)+IMT!K(B4*B3)>
755 NEXT B4NNEXT B3
760 FOR B6-1 TO NNFOR B7-7 TO 13
765 B8IB6)-B81B6)♦INTIKIB7 # B6 > >
770 NEXT B7NNEXT B6
775 FOR B3-1 TO N
780 IF BSIB3X63 THEN 790
785 KI14#B3)-35
790 NEXT B3
795 GOSUB 940
800 FOR A9-1 TO N
805 PRIMTXPRINTXPRINT
810 PRINT TAB!19)!ASIA9)!"'S TOTALS"NPRINT TABI19)!"***•*♦**♦**♦***"
015 PRINT
820 PR I NT" ACES-—-"! INTIKI 1* A9) )
825 PR INT" TWOS---"! INTIKI2* A9> >
830 PR INT" THREES-"! INT!K(3#A9) )
835 PRINT"FOURS—— ———"! INTIKI4* A9 ) >
640 PR I NT" FIVES-"! INTIK!5#A9) )
845 PR INT"SIXES-"! INTIKI6* A9 > JNPRINT
850 PRINT"3 OF A KIND-"!INTIKI7#A9))
855 PR I NT" 4 OF A KIND——"! INTIKI8# A9) )
860 PRIMT"FULL HOUSE-"! INTIKI 9# A9> )
865 PRINT"SM. STRAIGHT-"!INTIKt10*A9)>
870 PRINT"LG• STRAIGHT—"! INTIKt 11#A9) )
875 PRINT"YAHTZEE-——"!INTIKt12#A9))
880 PRINT"CHANCE-—") INTIKt 13#A9) )
685 PRINTNPRINT"TOTAL OF UPPER HALF-"!B5IA9>
890 PR I NT NPR I NT" BONUS-"!Kt 14, A9)
895 PRINTNPRINT"TOTAL OF LOWER HALF-"!B8tA9>
900 PRINT
905 B9-B5IA9XB8IA9XK! 14#A9>
910 PRINT AS IA9 ) ! "' S GRAND TOTAL------;B9
915 GOSUB 940
920 NEXT A9
925 IF I>13 THEN 210
930 STOP
935 PR INT" ANSWER WITH YES OR NONRETURN
940 FOR E-l TO 72NPRINT"-"!NNEXT ENPRINTNRETURN
945 GOSUB 940
950 PRINT"l**ACES"NGOSUB 940NPRINT"2**TW0S"NG0SUB 940
955 PRINT"3*4THREES"NG0SUB 940NPRINT"4**FOURS"XGOSUB 940
960 PRINT"5**FIVES"XGOSUB 940XPRINT"6**SIXES"NGOSUB 940
965 PRINT"7**3 OF A KIND"NGOSUB 940XPRINT"8**4 OF A KIND"XGOSUB 940
970 PRINT"944FULL HOUSE"NGOSUB 940NPRINT"104*SM* STRAI6HT"NG0SUB 940
975 PRINT"!1**LG. STRAIGHT"NGOSUB 940XPRINT"12**YAHTZEE"XG0SUB 940
980 PRINT"13**CHANCE"NGOSUB 940
985 FOR El-1 TO 8NPRINTNNEXT E1NPRINT"TEAR OFF SCORECARD"
990 SLEEP 18NG0T0 100
995 PRINT"TOTALS WILL BE PRINTED IF YOU RESPOND TO"
1000 PRINT"'SCOREBOARD NUMBER?• WITH A NUMBER GREATER THAN 13."
1005 PRINT"TO SEE WHAT SCOREBOARD OPTIONS YOU HAVE NOT USED#"
1010 PRINT"RESPOND TO 'HOW MANY' OR 'SCOREBOARD NUMBER' WITH 25*"
1015 RETURN
1020 PRINT ASIA)!"# YOU HAVE THE FOLLOWING SCOREBOARD OPTIONS LEFT*"
1025 I0-25NFOR 1-1 TO 13XIF KtI#A)-0 THEN 630NGOTO 1035
1030 PRINT" "!
1035 NEXT INPRINT"."NI0-0NRETURN
1040 END
134
CREATIVE COMPUTING
Sample Run
STEVE'S NUMBERS* 13344
STEVE--SCOREBOARD NUMBER? 6
STEVE# YOU NOV HAVE 0 POINTS IN ROV # 6 # (SIXES)
—Game opening—
THIS IS THE GAME OF YAHTZEE# DO YOU WANT COMMENTS? YES
TOTALS WILL BE PRINTED IF YOU RESPOND TO
'SCOREBOARD NUMBER?* WITH A NUMBER GREATER THAN 13*
TO SEE VHAT SCOREBOARD OPTIONS YOU HAVE NOT USED#
RESPOND TO 'HOW MANY* OR 'SCOREBOARD NUMBER' WITH 25.
HOW MANY PLAYERS? 2
NAME OF PLAYER # 1 ? STEVE
NAME OF PLAYER # 2 ? SUSAN
WOULD YOU LIKE A SCORECARD? NO
SUSAN'S NUMBERS* 62344
HOW MANY? 5
SUSAN'S NUMBERS* 31626
HOV MANY? 4
WHICH DICE? 1# 3#4# 5
SUSAN'S NUMBERS* 51626
SUSAN—SCOREBOARD NUMBER? 1
SUSAN# YOU NOV HAVE 1 POINT IN ROV # 1 (ACES)
STEVE'S NUMBERS* 42333
HOV MANY? 2
WHICH DICE? 1#2
STEVE'S TOTALS
STEVE'S NUMBERS* 4 13 3 3
HOV MANY? 2
WHICH DICE? 1#2
STEVE'S NUMBERS* 14333
STEVE--SCOREBOARD NUMBER? 3
STEVE# YOU NOV HAVE 9 POINTS IN ROV # 3 # (THREES)
SUSAN'S NUMBERS* 13523
HOV MANY? 3
WHICH DICE? 1# 3#4
SUSAN'S NUMBERS* 63623
HOV MANY? 1
WHICH DICE? 4
SUSAN'S NUMBERS* 63663
SUSAN--SCOREBOARD NUMBER? 9
SUSAN# YOU NOV HAVE 25 POINTS IN ROV # 9 # (FULL HOUSE)
ACES—
TVOS--
THREES
FOURS-
FIVES-
SIXES-
3 OF A KIND-— 19
4 OF A KIND—— 0
FULL HOUSE— 25
SM. STRAIGHT--- 30
LG. STRAIGHT-- 40
YAHTZEE-------- 50
CHANCE— — — 10
TOTAL OF UPPER HALF— 51
BONUS--0
TOTAL OF LOWER HALF- 174
STEVE'S GRAND TOTAL---...... 2 05
2
8
9
18
20
0
STEVE'S NUMBERS* 34634
HOV MANY? 3
WHICH DICE? 1# 3#4 SUSAN'S TOTALS
STEVE'S NUMBERS* 54414
HDV MANY? 2 ACES— — ——— 1
WHICH DICE? 1 #4 TWOS-——— 4
THREES--— 6
STEVE'S NUMBERS* 4 4 4 4 4 FOURS- 16
STEVE--SCOREBOARD NUMBER? 10-2 FIVES- 15
SIXES- 18
CONGRATULATIONS STEVE YOU HAVE A YAHTZEE111 3 OF A KIND-29
4 OF A KIND—— 13
FULL HOUSE-25
STEVE# YOU NOV HAVE 50 POINTS IN ROV # 12 » CYAHTZEE) SM. STRAIGHT— 30
LG. STRAIGHT- 40
YAHTZEE---0
CHANCE-20
—At the end of the game—
TOTAL OF UPPER HALF-60
BONUS- 0
SUSAN'S NUMBERS* 53456
SUSAN--SCOREBOARD NUMBER? 25
SUSAN# YOU HAVE THE FOLLOWING SCOREBOARD OPTIONS LEFT*
ACES LARGE STRAIGHT YAHTZEE .
SUSAN--SCOREBOARD NUMBER? 12
SUSAN# YOU NOV HAVE 0 POINTS IN ROV # 12 # (YAHTZEE)
TOTAL OF LOVER HALF- 157
SUSAN'S GRAND TOTAL-—-217
STEVE'S NUMBERS* 31234
HOV MANY? 25
STEVE# YOU HAVE THE FOLLOWING SCOREBOARD OPTIONS LEFT*
TWOS SIXES .
>OV MANY? 4
WHICH DICE? 1#2#4# 5
STEVE'S NUMBERS* 23216
HOV MANY? 3
WHICH DICE? 2#4# 5
STEVE'S NUMBERS* 21222
STEVE--SCOREBOARD NUMBER? 2
STEVE# YOU NOV HAVE 8 POINTS IN ROV # 2 # (TWOS)
SUSAN'S NUMBERS* 35456
HOV MANY? 1
WHICH DICE7 2
SUSAN'S NUMBERS* 32456
HOV MANY? 0
SUSAN--SCOREBOARD NUMBER? 11
SUSAN# YOU NOV HAVE 40 POINTS IN ROV # 11 # (LARGE STRAIGHT)
STEVE'S NUMBERS* 1 5 S 5 1
HOV MANY? 5
STEVE'S NUMBERS* 51251
HOV MANY? 5
READER CHALLENGE
Readers: using your handy-dandy
computer or calculator, can you deter¬
mine the following:
1. The probability of rolling each
type of scoring combination in the
game of Yahtzee.
2. A set of “rules of thumb” for the
best way to play the game, taking into
account both probabilities, expected
outcomes, and what has happened in
preceding moves.
3. The expected score, assuming
one followed the heuristics in (2).
JAN/FEB 1978
135
The Probability of a Yahtzee: Analysis and Computation
David R. Duncan and Bonnie H. Litwiller
Associate Professors of Mathematics
University of Northern Iowa
Cedar Falls, Iowa 50613
Teachers of units concerning probability are interested in examples
of probabilistic situations in a non-classroom setting. Games are a
rich source of such probabilities. Many people enjoy playing a
commercial mathematical game called Yahtzee. A Yahtzee player
receives points for achieving various specified numerical combinations
of dice during the three rolls which constitute his turn. The winner
of the game is the player who accumulates the most points in 13
turns.
The purpose of this article is to examine the probabilities of one
particular combination of the dice, that of having 5 of a kind (all
5 dice show the same number). This particular combination of dice
is called a “Yahtzee" (the same name as the game). This combination
is the most valuable one in terms of accumulating points during a
game.
A turn for each player consists of the following:
1. He rolls all 5 dice at once.
2. If he is satisfied with the outcome, he may conclude his turn with the one
roll. If he wishes to roll again, he may pick up any or all of the dice and
re-roll them.
3. If he is satisfied with the new outcome, he may conclude his turn with his
second roll. If he wishes to roll a third time, he may pick up any or all of
the 5 dice and re-roll again. The third roll is the termination of his turn.
Suppose that a player decides that his goal on a particular turn
is to roll a Yahtzee. The following six outcomes are possible on
the first roll. (Here and henceforth, the Roman numerals will denote
outcomes of the first roll of a turn.)
I. All 5 dice are alike. This yields a Yahtzee on the very first roll.
11. There are 4 dice alike and 1 die is different.
III. There are 3 dice alike and neither of the other two matches the 3 of a kind;
however, they may match each other.
IV. Two dice show one numerical value, two other dice show a second numerical
value, and the fifth die shows a third numerical value.
V. Two dice are alike; the other 3 are all different from each other and they
also differ from the given pair.
VI. The 5 dice are all different.
Depending upon the situation achieved on the first roll, let us assume
that the player will perform the second roll as follows: (Here and
henceforth the capital letters will denote outcomes of the second
roll of a turn.)
u- 6 -
6 I
Pd) = - = —
6 5 6
tne numoer oi ways <
II. ^ j =5, the number of ways of selecting the 4 matching dice.
^ j = 6, the number of ways of selecting the number to be shown on the
four dice.
^ j = 5, the number of ways of selecting the number for the fifth die.
P(I1) =
5-6-5
!. ^ j = 10, the number of ways of selecting the three matching dice.
^ j = 6, the number of ways of selecting the number to be shown on these
three matching dice.
/ 5 \ 2
^ J =25, the number of possible outcomes for the other two dice.
P(I11) «
10 6 25
*6^
IV. ^ ^ * 15, the number of ways of selecting the two numbers for the two pairs.
^ j « 10, the number of ways of selecting the two dice for the first pair.
^ j = 3, the number of ways of selecting the two dice for the second pair.
^ j = 4, the number of possible outcomes for the fifth die.'
P(IV) -
15 10 3 4
I. Since the player has achieved Yahtzee. he will not roll again.
II. He will roll the fifth die (the one die which was different). The possible outcomes
are:
A. The fifth die will match the other 4 thus producing a Yahtzee.
B. The fifth die will not match.
III. The player will leave intact the 3 dice which are alike and roll the other two.
The possible outcomes are:
A. Both match the 3 of a kind thus yielding a Yahtzee.
B. One die matches the 3 of a kind.
C. No matches result with the original 3 of a kind.
IV. The player will leave one of the pairs, pick up the other three dice and roll
them again. The possible outcomes are:
A. All 3 dice match the original pair.
B. There are 2 dice which match the original pair.
C. There is one die which matches the original pair
D. The 3 dice all show the same number which is different from the original
pair.
E. The 3 dice do not all 3 show the same number and none of them matches
the original pair.
V. The player will leave the pair and re-roll the other 3 dice. The same 5 outcomes
occur as in IV.
VI. The player will re-roll all 5 dice. For this case, outcomes A, B, C, D, E,
and F are the same as I, II, III, IV, V, and VI.
On the third roll, the player will leave the maximal number of
dice which are the same and roll the others. He either gets a Yahtzee
or he does not. Either way his turn is concluded. Note in IV, D
and V, D the player will leave the 3 of a kind and will now re-roll
the original pair.
For the above given outcomes we shall now compute the appropriate
probabilities using the fundamental principle of counting. In each
case, the denominator of the probability is computed by observing
that if A; -distinct fair dice arc rolled, 6* equally likely outcomes are
possible.
V. ^ j = 10, the number of ways of selecting the two matching dice.
^ j = 6, the number of ways of selecting the number to be shown on these
two dice.
000 = 60, the number of possible outcomes for the remaining dice.
P(V) =
10 6 60
6*
VI. 6 is the number of ways of choosing a number for the first die.
5 is the number of ways of choosing a number for the second die.
4 is the number of ways of choosing a number for the third die.
3 is the number of ways of choosing a number for the fourth die.
2 is the number of ways of choosing a number for the fifth die.
P(VI)«
6-5-432
We now investigate probabilities concerning the second roll:
Assuming that II has occurred:
A. P(A) = 1/6
B. P(B) = 5/6. In this case, the probability of a Yahtzee on the third roll is
1/6, or P(Y) = 1/6, on roll 3.
Assuming III has occurred:
A. P(A) “ (1 /6) 2
/ 2 \
B ^ J = 2, the number of ways of choosing the die to match the 3 of a kind.
^ j = 5, the number of ways of choosing the number for the non-matching
die.
136
CREATIVE COMPUTING
2 ‘,5
P(B) - -. In this case P( Y) = 1/6, on roll 3.
6 2
C. P(C) = (5/6) 2 . In this case P(Y) = (1/6) 2 , on roll 3.
Assuming IV has occurred:
A. P(A) = (1 /6) 5
B. ^ ^ = 3, the number of ways of choosing the two matching dice
/5 \
= 5, the number of ways of choosing the number for the other die.
O'
M
3 • 5
P(B) =-. In this case, P( Y) = 1 /6 on roll 3.
C. ^ J = 3, the number of ways of choosing the matching die.
(5 y
^ J =25, the number of ways of choosing the numbers for the other two
dice.
3 25
P(C) - — ^ . In this case, P( Y) = (1/6) 2 on roll 3.
D- ^ j = 5, the number of ways of choosing the number for the three of a kind.
P(D) = 5/6 3 . In this case, the P( Y) = (1/6) 2 on roll 3.
(5 y
E • ^ J —5=120, the number of ways of selecting 3 numbers, not all 3 alike,
and none matching the original pair. Note that the (-5) term occurs to eliminate
the case that the three dice all show the same number.
P(E) = 120/6 3 . In this case, P( Y) = (1/6) 3 on roll 3.
Assuming that V has occurred, the probabilities of subsequent events
are exactly the same as for IV.
Assuming that VI has occurred:
P(A) = P(I) = 6/6 5 = 1/6 4
5-6-5
P(B) = P( II) = —-—.In this case, P(Y)= 1/6 on roll 3.
10 6 25
P(C) = P(III) =-—-. In this case, P(Y) » (1 /6) 2 on roll 3.
15 10 3 4
P(D), = P(1V) =---. In this case, P( Y) = (I/6) 3 on roll 3.
10 6 60
P(E) = P(V) »-—-. In this case, P( Y) = (1/6) 3 on roll 3.
6-543-2
P(F) = P(V1) ----. In this case, P( Y) = (1/6) 4 on roll 3.
Some Yahtzee players in Case VI like to leave one die and try
to obtain Yahtzee by rolling the other dice. This will lead to a different
analysis than we have discussed; however, the probability of a Yahtzee
can be shown to be the same under either strategy.
The probability of rolling a Yahtzee is computed in Table I.
Table I
Decimal
roll 1
roll 2
roll 3
Product
1. 1/6 4
1
1
.00077
5-6-5
II. -
A.
1/6
1
.00322
6 5
B.
5/6
1/6
.00268
Total: .00590
111.
A.
(1/6) 2
1
.00536
10 6 25
2 5
B.
—
1/6
.00893
6 5
6 2
C.
<5/6) 2
d/6) 2
.00372
Total: .01801
IV.
A.
0/6) 3
1
.00107
3 5
B.
—
1/6
.00268
6 3
15 10 3 4
3 25
C.
---
(1/6) 2
.00223
6 5
6 3
D.
5/6 3
(1/6)*
.00015
E.
120/6 3
(1/6)*
.00060
Total: 00673
V.
A.
• (1/6)*
1
.00214
3 5
B.
—
1/6
.00536
6 3
10 6 60
3 • 25
C.
—
(1/6)*
.00447
6 3
6 3
D.
5/6*
d/6) 2
.00030
E.
120/6 3
(1/6)*
.00119
Total: .01346
VI.
A.
I/6 4
1
.00007
B.
150/6 5
»/6
.00030
65-432
C.
1500/6*
d/6) 2
.00050
6 5
D.
1800/6*
d/6) 3
.00010
E.
3600/6’
(I/6) 3
.00020
F.
720/6’
d/6) 4
.00001
Total. .00118
Thus, the probability of rolling a
Yahtzee is:
.00077 + .00590 +
.01801 + .00673 + .01346 + .00118 =
.04605. An experienced Yahtzee
player knows very well how difficult it is to roll a Yahtzee. This
probability thus supports his experience.
The following diagram displays an interesting set of partial probabil¬
ities. The probabilities for rolls 2 and 3 are assuming the prior result
of roll 1.
ROLL 1 ROLLS 2 and 3
P* .00077
| Yahtzee |
P = .01929
P = .30556
| 4 of a kind |-
-I Yahtzee 1
P = .19290
P = .09336
| 3 of a kind |-
■■ »» | Yahtzee |
P = .23148
P = .02906
| 2 pairs 1-
-1 Yahtzee I
P = .462%
P = .02906
1 1 pair !-
-<► 1 Yahtzee I
P = .09259
P= .01263
1 No matches 1-
L-Yahtzec J
The interested reader and his students are invited to consult the
rules for playing Yahtzee and compute the probabilities of other
desirable outcomes. The need for a calculating device is apparent. ■
JAN/FEB 1978
137
VAN GAM AianBown
Sample Run
VAN WYTHOFF'S GAMEJ DO YOU WANT INSTRUCTIONS <Y OR N)? Y
YOU ARE TO CREATE TWO PILES OF MATCHES» EACH CONTAINING 100 OR LESS*
YOU PLAY ALTERNATELY WITH ME* AND OUR MOVES CONSIST OF:
(A) TAKING AWAY 1 OR MORE MATCHES FROM ONE PILE ONLY, OR
<B> TAKING AWAY THE SAME NUMBER FROM EACH PILE.
THE ONE WHO TAKES AWAY THE LAST MATCH OF ALL WINS.
ENTER YOUR MOVES IN THIS MANNER:
2L - (2 LEFT) TAKE TWO FROM LEFT PILE
3R - <3 RIGHT) TAKE THREE FROM RIGHT PILE
5B - (5 BOTH) TAKE FIVE FROM EACH PILE
VAN GAM is a simple game with an
interesting solution set. The winning
sequence pairs are formed by certain
mutually exclusive sequences, using
the golden mean, ^ +-\/ 5 ~
2
as an irrational
generator. See explanation, lines 40-
ISO.
DESIRED PILE
SIZES
(NUMBER.
NUMBER)?
DO YOU WANT
TO GO
FIRST (Y
OR N)?
Y
LEFT
RIGHT
17
22
YOUR
move:
3L
LEAVING
14
22
HM. .
i take:
2B
LEAVING
12
20
YOUR
move:
3B
LEAVING
9
17
HM. .
i take:
2R
LEAVING
9
15
YOUR
move:
5R
LEAVING
9
10
HM. .
i take:
3L
LEAVING
6
10
YOUR
move:
3B
LEAVING
3
7
HM. .
i take:
2R •
LEAVING
3
5
YOUR
move:
3R
LEAVING
3
2
HM. .
i take:
2L
LEAVING
1
2
YOUR
move:
1R
LEAVING
1
1
HM. .
i take:
IB
LEAVING
0
0
SORRY - I WIN. DON'T FEEL BADLY - I'M AN EXPERT.
DO YOU WANT TO PLAY AGAIN <Y OR N)? Y
DESIRED PILE SIZES <NUMBER * NUMBER>? 26*16
DO YOU WANT TO GO FIRST (Y OR N>? N
LEFT
RIGHT
26
16
i take:
1L
LEAVING
25
16
YOUR
move:
2B
LEAVING
23
14
HM..
i take:
1L
LEAVING
22
14
YOUR
move:
2B
LEAVING
20
12
HM. .
i take:
1L
LEAVING
19
12
YOUR
move:
IB
LEAVING
18
11
HM. .
i take:
1L
LEAVING
17
11
YOUR
move:
2B
LEAVING
15
9
HM. ♦
i take:
1L
LEAVING
14
9
YOUR
move:
IB
LEAVING
13
8
HM. .
i take:
1L
LEAVING
12
8
YOUR
move :
2B
LEAVING
10
6
HM. .
i take:
1L
LEAVING
9
6
YOUR
move:
2B
LEAVING
7
4
HM. .
i take:
1L
LEAVING
6
4
YOUR
move:
IB
LEAVING
5
3
HM. .
i take:
1L
LEAVING
4
3
YOUR
move:
2B
LEAVING
2
1
HM. .
i take:
1L
LEAVING
1
1
YOUR
move:
IB
LEAVING
0
0
HM. .
YOU WIN!!
CONGRATULATIONS. YOU ARE A VERY CLEVER VAN WYTHOFF'S GAMESMAN.
DO YOU WANT TO PLAY AGAIN <Y OR N>? Y
DESIRED PILE SIZES < NUMBER * NUMBER)? 15*17
DO YOU WANT TO GO FIRST (Y OR N)? Y
IF T = 1 + V5
2 1
andX = T + 1,Y = Y +1
then for integers N the winning se¬
quence generators are
INT (N * X) 2 5 7 10 13 ... .
INT (N * Y) 1 3 4 6 8 . . . .
It is interesting to note that the union
of these sequences is the set of
integers, and their intersection is
empty. That is the case, in fact, for any
irrational generator, but only T will
produce winning VAN GAM pairs. The
game is not much fun in that the
average user will never be able to beat
the computer in non-trivial cases,
unless he has been taught the winning
sequences.
•'Headmaster, St. George’s School, 4175 West 29
Ave., Vancouver, B.C., Canada v6S 1V6.
LEFT RIGHT
15 17
YOUR MOVE: 19
IMPROPER ENTRY. STOP FOOLING AROUND.
YOUR MOVE: 22
IMPROPER ENTRY. STOP FOOLING AROUND.
YOUR move: 18
LOOK* YOU JUST WON'T STOP FOOLING ABOUT. BUZZ OFF.
O.K. BYE NOW.
READY
RUNNH
VAN WYTHOFF'S GAME: DO YOU WANT INSTRUCTIONS <Y OR N)? N
DESIRED PILE SIZES (NUMBER* NUMBER)? 45*45
DO YOU WANT TO GO FIRST (Y OR N>? Y
LEFT RIGHT
45 45
YOU LIKE SITTING DUCKS* DON'T YOU?
YOUR MOVE: 45B LEAVING 0 0
HM. .
YOU WIN!•
CONGRATULATIONS. YOU ARE A VERY CLEVER VAN WYTHOFF'S GAMESMAN.
DO YOU WANT TO PLAY AGAIN (Y OR N)? N
O.K. BYE NOW.
READY
138
CREATIVE COMPUTING
Program Listing
10 DIM 0(200)
15 X=(1+SGR(5))/2 \ Y=l+1/X \ X=l+X
16 FOR 1=0 TO 99
17 Q(I*2)=INT(I*X) \ Q(I*2+1)=INT(I*Y>
18 NEXT I \ T=0
20 PRINT 'VAN WYTHOFF'S GAME: DO YOU WANT INSTRUCTIONS (Y OR N)? '?
30 A=SYS(4) \ PRINT \ IF A=78 THEN 130
40 PRINT 'YOU ARE TO CREATE TWO PILES OF MATCHES ? EACH CONTAINING 100 OR LESS.’
50 PRINT 'YOU PLAY ALTERNATELY WITH MEr AND OUR MOVES CONSIST OFJ*
60 PRINT TAB(10)I *(A) TAKING AWAY 1 OR MORE MATCHES FROM ONE PILE ONLY r OR*
70 PRINT TAB(10)f*(B) TAKING AWAY THE SAME NUMBER FROM EACH PILE*■
80 PRINT 'THE ONE WHO TAKES AWAY THE LAST MATCH OF ALL WINS.'
90 PRINT 'ENTER YOUR MOVES IN THIS MANNER:'
100 PRINT TAB<10) ?'2L - (2 LEFT) TAKE TWO FROM LEFT PILE'
110 PRINT TAB(10)?*3R - (3 RIGHT) TAKE THREE FROM RIGHT PILE'
120 PRINT TAB(10)? *5B - (5 BOTH) TAKE FIVE FROM EACH PILE'
130 PRINT \ PRINT \ PRINT
200 PRINT 'DESIRED PILE SIZES (NUMBER r NUMBER>? '?
205 A=SYS(3 >
210 GOSUB 350 \ IF S1=0 THEN 210 \ L=S1 \ PRINT *r'?
220 GOSUB 350 \ IF S1=0 THEN 220 \ R=S1 \ A=SYS(2)
230 IF L+R=0 THEN 250 \ IF L+R>5 THEN 240 \ PRINT \ PRINT '0H» YOU'RE A SPORTr YOU ARE.'
240 PRINT \ PRINT 'DO YOU WANT TO GO FIRST (Y OR N)? '?
250 B=SYS(4) \ PRINT \ PRINT \ PRINT \ PRINT TAB(27)5'LEFT RIGHT'
255 PRINT TAB(27)?L?TAB(33)?R
260 P=L*2 \ IF L>R THEN 400 \ P=R*2 \ GO TO 400
350 S1=0
355 A=SYS(4) \ IF A>57 THEN 380 \ IF A<48 THEN 380
370 Pl=10*Sl+A-48 \ IF Pl>100 THEN 380 \ S1=P1 \ PRINT CHRt(A)? \ GO TO 355
380 RETURN
400 IF B=78 THEN 690
405 IF L=R THEN PRINT 'YOU LIKE SITTING DUCKS* DON'T YOU?'
410 PRINT \ PRINT 'YOUR MOVE:'?TAB(14)? \ S1=0
430 A=SYS(3) \ A=SYS(4) \ IF A>57 THEN 480 \ IF A<48 THEN 480
440 Pl-Sl*10+A-48 \ IF Pl>100 THEN 430 \ S1=P1 \ PRINT CHR*(A)? \ GO TO 430
480 IF S1=0 THEN 430 \ IF A=76 THEN 550 \ IF A=82 THEN 570 \ IF A=66 THEN 590
490 GO TO 430
520 T-T + l \ IF T>2 THEN 1940
530 PRINT \ PRINT 'IMPROPER ENTRY. STOP FOOLING AROUND.' \ GO TO 410
550 IF S1>L THEN 520 \ L=L-S1 \ GO TO 610
570 IF S1>R THEN 520 \ R=R-S1 \ GO TO 610
590 IF S1>L THEN 520 \ L-L-Sl \ GO TO 570
610 PRINT CHRt(A)?TAB(19)>'LEAVING'? TAB(27)>L ? TAB(33)? R \ A=SYS(2>
614 PRINT 'HM.. '?
615 FOR 1=1 TO 500 \ A=A+I \ NEXT I
620 IF L+R>0 THEN 690
630 PRINT \ PRINT \ PRINT 'YOU WIN!!' \ PRINT
635 PRINT 'CONGRATULATIONS. YOU ARE A VERY CLEVER VAN WYTHOFF'S GAMESMAN.*
640 GO TO 1900
690 1=0 \ M=0
700 IF Q(I)=L THEN 760 \
720 IF 0(1)=R THEN 800 \
740 1=1+2 \ GO TO 700
760 L1«I \ L2=l \ IF M=1 THEN 840
770 M=1 \ GO TO 720
780 L1=I \ L2=0 \ IF M=1 THEN 840
790 M*1 \ GO TO 720
800 R1*I \ R2=l \ IF M=1 THEN 840
810 M=1 \ GO TO 740
820 R1=I \ R2=0 \ IF N=1 THEN 840
830 M=1 \ GO TO 740
840 IF L=R THEN 895 \ IF R1=L1 THEN 1080
850 IF L1>R1 THEN 900
860 P=L1+L2
880 IF Q(P)>R THEN 940
890 M=R-G(P> \ R=G(P) \ A$»'R'
895 M*L \ L=0 \ R=0 \ At*'B' \
900 P=R1+R2
920 IF G(P)>L THEN 940
930 M»L-Q(P) \ L=Q(P) \ A*='L'
940 M=0 \ Af='B'
950 P=L1 \ IF R1CL1 THEN P=R1
960 P“P-2 \ G=0
965 M=M+1 \ L=L-1 \ R-R-l
970 FOR I=P TO 0 STEP -2
990 IF Q(I)=L THEN 1040
1000 IF G(1+1)=L THEN 1050
1010 IF G(I)=R THEN 1060
1020 IF Q(I+1)=R THEN 1070
1030 NEXT I \ GO TO 965
1040 IF Q(1+1)=R THEN 1110
1050 IF G(I>=R THEN 1110 \
1060 IF G(1+1)=L THEN 1110
1070 IF G(I)=L THEN 1110
1075 IF G=1 THEN 960 \ G=1 \ GO TO 965
1080 IF L>R THEN 1100
1090 R=R-1 \ M*1 \ At= *R' \ GO TO 1110
1100 L=L-1 \ M=1 \ A$='L'
1110 PRINT 'I TAKE:'?TAB(14)ISTR»(M)?A*?TAB(19)?'LEAVING'?TAB(27)?L?TAB(33)?R
1120 IF L+R>0 THEN 410
1130 PRINT \ PRINT 'SORRY - I WIN. DON'T FEEL BADLY - I'M AN EXPERT.'
1900 PRINT \ PRINT 'DO YOU WANT TO PLAY AGAIN (Y OR N)? '?
1910 A=SYS(4) \ PRINT
1920 IF A=S9 THEN 130 \ GO TO 1950
1940 PRINT \ PRINT 'LOOK* YOU JUST WON'T STOP FOOLING ABOUT. BUZZ OFF.'
1945 A=SYS(2) 4
1950 PRINT \ PRINT 'O.K. BYE NOW.'
1960 END
IF G(I+1)»L THEN 780
IF G(1+1)=R THEN 820
\ GO TO 1110
GO TO 1110
\ GO TO 1110
\ GO TO 1075
GO TO 1075
\ GO TO 1075
JAN/FEB 1978
139
KIRKOF
and
NETWRK
KIRKOF inputs data describing a simple electrical
network (resistors and DC potential difference sources).
The program calculates the current in each line, using
Kirchoffs Laws, and then chains (line 4300) to NETWRK
which draws a picture of the circuit. Each program runs in
4K in the present configuration, which allows for 10
junctions (each labelled with a single digit or alphabetic
character) and 22 possible current-bearing lines.
We run on a PDP/11V03 in a multi-user BASIC
environment. There are several explanations required for
some programming steps with this interpreter:
1. Notetheroleof backslashes in IF statement THEN
statement statements. Line 510 in KIRKOF has the
following effect: IF P (J,1) = I THEN (A(I,J) = 1 GO TO
550 ). An IF statement THEN line number treats
backlashes differently; for example, line 1050 has no such
parenthesized effect.
2. SEG$, CHR$, STR$ and TRM$ are particular string
features of the PDP BASIC 11 interpreter.
3. A = SYS(3) eliminates echoing, SYS(2) restores it, A =
SYD(4) inputs into A the ASCII code for a keyboard
entered character.
Programming comments:
To merge the two programs in an 8K environment, omit
lines 1 and 4300, alter 4260, renumber 4310, 4320.
KIRKOF: Lines 20- 90 instructions
110- 391 data input
400- 493 data reorganization into
canonical form
500- 550 current balance equations
790-2000 Kirchoffs Loops identified
and P.D. equations formed
4000-4290 Solution of N x N equations
by Gauss-Seidel interative
method.
NETWRK: Quite a tricky program in avoidance of
unwanted vertical lines A bit too ad hoc, I’m afraid.
Alan Brown*
* CREATIVE COMPUTING
“Let’s see now ... Have you had any previous
experience with electricity?”
’Headmaster. St. George’s School. 4175 West 29 Ave., Vancouver BC
Canada V6S 1V6.
140
CREATIVE COMPUTING
$
20 OHMS
1 COMMON P(22 * 5 > * Q (10)* X(22)* N * M
9 A=SYS(3)
10 DIM A(22*22)*B(22)* S(22 * 2)* D(22)
20 PRINT * DO YOU WANT INSTRUCTIONS?
30 A=SYS(4) \ IF A=78 THEN PRINT '
40 IF A089 THEN 30 \ PRINT ' YES"
42 PRINT
48 PRINT
50 PRINT
52 PRINT
54 PRINT
56 PRINT
58 PRINT
60 PRINT
62 PRINT
64 PRINT
66 PRINT
68 PRINT
69 PRINT
70 PRINT
90 PRINT
NO" \ GO TO 90
\ PRINT “ENTER DATA THUS:*
KIRKOF
Program Listing
/10 OHMS
\
/
DATA ENTRYJ"
A C R20*
C A R20)*
R50 *
RIO'
-25"
C B +25)*
(OR
B A
B C
B C
(OR
WHEN FINISHED ALL ENTRIES* HIT RETURN* 1
\ GO TO 400
*_/\/\/\„„*_I!_
50 OHMS B 25 0 *'
\ PRINT "AFTER EACH ENTRY* HIT THE SPACE BAR*
\ PRINT
\ PRINT -ENTER NETWORK CONNECTIONS:" \ PRINT
110 FOR 1=1 TO 2
120 A=SYS(4) \ IF A=13 THEN IF N=0 THEN 120 \ IF 1=1 THEN A=SYS(2> \ PRINT
130 IF A>47 THEN IF A<58 THEN 145
135 IF A>64 THEN IF A<91 THEN 145
140 GO TO 120
145 IF 1=2 THEN IF 0(P(N+l* 1))=A THEN 120
150 PRINT CHR$(A)*“ '* \ FOR J=1 TO M \ IF Q(J)=A THEN 170 \ NEXT J \ M=M+1 \ Q(M)=A \ J=M
170 P(N+1* I)=J \ NEXT I \ N=N+1
180 A=SYS(4) \ IF A=43 THEN P(N*3)=1 \ GO TO 220
190 IF A=45 THEN P(N*3)=-1 \ GO TO 220
200 IF A082 THEN 180
220 PRINT ' - * CHR$(A)* \ S=0
230 A=SYS(4) \ IF A>47 THEN IF A<58 THEN S=S#10+A-48 \ PRINT CHR$(A)* \ GO TO 230
250 IF AO46 THEN 320
300 PRINT •♦•* \ C=10
310 A=SYS(4) \ IF A>-47 THEN IF A<58 THEN S=S+(A-48)/C \ C=C*10 \ PRINT CHR*(A)* \ GO TO 310
320 IF A<>69 THEN 390 \ PRINT "E"* \ C=1
330 A=SYS(4) \ IF A=45 THEN C=C*~1 \ PRINT "-•* \ GO TO 330
340 IF A>47 THEN IF A<58 THEN S=S#10~ ( (A--48) *C ) \ PRINT CHR$(A)* \ GO TO 390
350 GO TO 330
390 P(N*4)=S \ PRINT - ! •* \ H=H+1 \ IF H=5 THEN H=0 \ PRINT
391 GO TO 110
400 FOR 1=2 TO N \ IF P(I * 1)<P(I*2) THEN 450 \ T=P(I*1) \ P(I * 1)=P(I * 2) \ P(I*2)=T \ P(I * 3)=P(I * 3)*-l
450 NEXT I
460 FOR 1=1 TO N-2 \ FOR J=2 TO N-I
470 IF P(J*1XP<J+1*1> THEN 490
480 IF P(J*1)=P( J+l*l) THEN IF P( J*2X=P( J+l *2) THEN 490
485 FOR K=1 TO 4 \ T=P(J*K) \ P(J*K)=P(J+l*K) \ P(J+1*K)=T \ NEXT K
490 NEXT J \ NEXT I
493 PRINT
500 FOR 1=1 TO M-l \ FOR J=1 TO N
510 IF P(J*1) = I THEN A(I * J) = 1 \ GO TO 550
520 IF P (J * 2 ) = I THEN A(I*J)=-1
550 NEXT J \ NEXT I
790 FOR G=M TO N
800 L=L + 1 \ IF P(L * 1XP(L+l* 1) THEN 800 \ Sl = l \ S(1 * 1)=L \ S(l*2)=2
900 S5=L
1000 K=P(S(S1*1)*S(S1*2>> \ FOR I=S5+1 TO N \ IF I=S(S1*1) THEN 1040
1005 IF K=P(1*1) THEN Kl=2 \ GO TO 1100
1010 IF K=P(1*2) THEN Kl=l \ GO TO 1100
1040 NEXT I
1050 IF Sl=l THEN 800 \ S5=S(S1*1) \ S1=S1-1 \ GO TO 1000
1100 FOR J=1 TO SI \ IF P(S(J*1)*S(J*2))=P(I*K1) THEN 1040 \ NEXT J
1110 S1 = S1 + 1 \ S(S1*1)=I \ S(SI * 2)=K1 \ IF P(I * K1)OP(S(l*l)*l) THEN 900
1120 FOR 1=1 TO SI \ I1=S(I*1) \ P9=-P(Il*4)*(<2*S(I*2>)-3) \ IF P(I1*3)=0 THEN A(G*I1)=P9 \ GO TO 1300
1130 B(G)=B(G)+P(I1*3)*P9
1300 NEXT I
2000 NEXT G
4000 FOR K=1 TO N-l \ P=ABS(A(K*K)) \ I1=K
4020 FOR I=K+1 TO N \ Q=ABS(A(I *K)) \ IF Q>P THEN P=G \ 11 = 1
4025 NEXT I
4030 IF P=0 THEN 4310 \ IF I1=K THEN 4060
4040 FOR J=K TO N \ T=A(K*J) \ A(K*J)=A(11 *J) \ A(I1*J)=T \ NEXT J
4050 T=B(K) \ B(K)=B(I1) \ B(I1)=T
4060 FOR I=K+1 TO N \ M3=-A(I*K)/A(K*K) \ A(I*K)=0
4080 FOR J=K+1 TO N \ A(I *J)=A(I *J)+A(K*J)*M3 \ NEXT J
4090 B(I)=B(I)+B(K)*M3 \ NEXT I \ NEXT K
4210 FOR 1 = 1 TO N \ D(I)=B(I) \ FOR J=I TO N \ D(I)=D(I)-A(I *J)*X(J) \ NEXT J \ NEXT I
4250 FOR I=N TO 1 STEP -1 \ FOR J=I + 1 TO N \ D( I )=D( I )-D( J)*A (I * J.) \ NEXT J
4260 IF A(I * I)=0 THEN 4310 \ D(1)=D(I)/A(I * I) \ NEXT I
4290 P=0 \ FOR 1=1 TO N \ X(I)=X(I)+D(I) \ P=P+D(I)*D(I) \ NEXT I \ IF P>1*00000E-03 THEN 4210
4300 CHAIN -NETWRK.B01-
4310 PRINT -SHORT CIRCUIT IN LINE'"*
4320 PRINT CHR$<Q(P(K*1)))*"-■*CHR*<Q<P<K* 2)))
9999 END
JAN/FEB 1978
141
NETWORK
Program Listing
4301 DIM G1(10XG5(10XP$(3)
4304 PRINT \ PRINT
4305 Bl$=" ' \ L„l$=" ! " \ Pl$="."
4307 PRINT ' LINE CURRENT"
4310 FOR 1=1 TO N \ PRINT STR*(I)*P1$?Bl$ t CHR*<Q(P<I,1))) i *-"5
4311 PRINT CHR$(Q(P(If2>))5" " i STR*(X(I))?" A" \ NEXT I
4320 PRINT \ PRINT
5000 B$=" " \ FOR 1=1 TO M~1 \ PRINT CHR$(Q<I))vB$? \ NEXT I \ PRINT CHR$(Q<M)>
5005 FOR 1=1 TO M-l \ PRINT L1*JB*J \ NEXT I \ PRINT LI*
5008 FOR 1=1 TO N \ Q5(P(I t 1)>=Q5<P<I*1))+l \ 05<P(I,2))=05(P(Ir2))+1 \ NEXT I
5010 HO-1 \ Nl=l
5030 FOR I=N1 TO N
5032 IF P(If1)>=M0 THEN IF P<I,5)=0 THEN 5034
5033 GO TO 5040
5034 N1=I \ Ml=P(N1r1) \ M2=P(N1 f2) \ P<N1,5>=1
5035 05(Ml)=05(Ml)-1 \ 05(M2)=05(M2)-1
5038 M7=M7+1 \ GO TO 5200
5040 NEXT I \ M9=M0 \ GOSUB 6200 \ FOR M9=M0+1 TO M \ FOR J=0 TO 3
5041 P$<J)=P$(J)+B$ \ NEXT J \ M8=l \ GOSUB 6200 \ M8=0 \ NEXT M9
5050 PRINT TRM$(P$(0)) \ FOR J=0 TO 3 \ PRINT TRM$(P*(J>) \ P$(J)="" \ NEXT J \ IF M7=N THEN 9990 \ GO TO 5010
5200 M9=M0
5210 IF M0=M1 THEN 5380
5220 GOSUB 6200 \ FOR 1=0 TO 3 \ P$<I)=p$<I)+B$ \ NEXT I
5310 FOR I=M0+1 TO Ml-1 \ V$=L1* \ IF 01<I)=0 THEN V$=Bl$
5320 FOR J=0 TO 3 \ P$<J)=P$(J)+V*+B$ \ NEXT J \ NEXT I \ M9=M1
5380 GOSUB 6200
5393 R$=STR$(X(N1)) \ IF LEN(R*)<10 THEN R$=R$+" A"
5394 IF X(N1) <0 THEN R$="<"+R* \ GO TO 5400
5396 R$=R*+" ->"
5400 V$=B* \ IF LEN <R$)<13 THEN R*=B1$+R*
5410 R$=R$+SEG*(B* >1>13-LEN < R$)) \ IF M2-M1=1 THEN U$=R$
5420 P$(1)=P$(1)+U$ \ IF P(N1*3)=1 THEN "— 1 1-- \ GO TO 5460
5440 IF P(Nlr3)=-l THEN V$=■ — I♦---• \ GO TO 5460
5450 V*="-'\/\/\/\/' —"
5460 P$(2)=P$ < 2)+0$ \ 0*=STR$(P(N1r4)) \ IF P(N1»3)=0 THEN 5470
5465 IF LEN< Y$)<12 THEN U$=0$+" 0" \ GO TO 5478
5470 IF LEN<0$)<10 THEN U$=U$+" OHM" \ GO TO 5478
5475 0*=V$+" 0"
5478 IF LEN(0$ XI3 THEN V*=B1$+Y*
5480 P* ( 3) =P$ < 3 ) f U$+SEG$ (B$ r 1 j» 13-LEN < 0$ ) )
5490 P$(0)=P*(0)+B*
5500 FOR I=M1+1 TO M2-1 \ 0$=B1* \ IF 01(I)=1 THEN U$=L1*
5510 P*(0)=P$<0)+0$+B* \ P*(1)=P$(1)+U*
5520 P*(3)=P*(3)+U*+B$ \ 0$=B* \ IF I=M2-1 THEN IF M2-M1>1 THEN V*=R$
5530 P$(1)=P$(1)+V$ \ P$(2)=P$(2) + "-"
5540 NEXT I \ M0=M2 \ GO TO 5030
6200 Y$=B1$ \ IF 01<M9) = 1 THEN V*=L1*
6250 P$(0)=P$(0)+U* \ P$(1)=P$(1)+V$
6252 0$=B1* \ IF M8<>1 THEN 6255
6253 IF 01(M9)=1 THEN V$=L1$
6254 GO TO 6257
6255 IF 01< M9)+05(M9)>0 THEN U$=P1*
6256 IF M0=M1 THEN U$=P1$
6257 P$(2 > =P$ < 2)+0$
6260 IF M801 THEN Q1(M9)=0 \ IF Q5(M9)>0 THEN Q1(M9) = 1
6265 0*=B1$ \ IF 01(M9)=1 THEN Y$=L1$
6270 P$(3 > =P*(3)+V$
6280 RETURN
9990 PRINT \ PRINT \ PRINT \ PRINT "ANOTHER NETWORK? "? \ A=SYS(3) \ A=SYS<4>
9991 IF A<>89 THEN 9998 \ PRINT "YES" \ CHAIN "KIRKOF♦B01" LINE 90
9998 PRINT "NO" \ A=SYS<2)
9999 END
do you want instructions? no Sample Run
ENTER NETWORK CONNECTIONS:
A
B
R110 :
B C
+ 100 :
C D
R120
E
F
R130
i A
G
-150
B
B
D
H
R140 1
R'180 1
E G
C F
R150 !
R190 1
B D
E G
R160
R200
E
H
R170
1 B
E
+200
LINE
CURRENT
1*
A-B
1.78832 A
2 ♦
A-G
-1.78832 A
3.
B-C
.201199 A
4 ♦
B-D
-.273973 A
5.
B-D
-.239726 A
6.
B-E
2.67225 A
7.
B-H
-.571428 A
8*
C-D
♦513699 A
9.
C-F
-.3125 A
10
♦ E-F
.3125 A
11
. E-G
1.0219 A
12
. E-G
.766423 A
13
. E-H
.571429 A
142
CREATIVE COMPUTING
1♦78832 A-> ♦201199 A->
♦ -'x/x/x/x/'—♦—:i-
110 OHM ! 100 0
—15 -
150 V
-'\/\/\/\/'
140 OHM
-'X/X/X/X/'
160 OHM
» 200 0
!
.-'\/\/\/\/'
180 OHM
.513699 A->
-'\/\/\/\/' —.
120 OHM I
<-.273973 A
<-.239726 A
♦3125 A->
-'X/X/X/X/V—.
130 OHM
-'\/\/\/\/'
150 OHM
♦-'\/\/\/\/'
I 200 OHM
!
2.67225 A-> !
-'\/\/\/\/'
170 OHM
<-1.78832 A
1.0219 A->
.766423 A-> I
-'\/\/\/\/'
190 OHM
<-♦3125 A
.571429 A->
ANOTHER NETWORK? YES
ENTER NETWORK CONNECTIONS?
1 2 R15 I 1 3 RIO ! 3 4 R25 S
2 3 +75 I
4 2 R20 ! 1 4 -50 !
LINE CURRENT
1. 1-2 3.8961 A
2. 1-3 -1.65584 A
3. 1-4 -2.24026 A
4. 2-3 4.31818 A
5. 2-4 -.422078 A
6. 3-4 2.66234 A
3.8961 A-> 4.31818 A-> 2.66234 A->
♦ -'X/X/X/X/' —. — ?I-.-'X/X/X/X/' — .
! 15 OHM
.-'X/X/X/X/'-
! 10 OHM
50 0
75 V
<-1.65584 A
25 OHM
<-2.24026 A
<-♦422078 A
♦ -'X/X/X/.X/'
20 OHM
ANOTHER NETWORK? NO
READY
JAN/FEB 1978
143
o
Index to Advertisers
Ai Cybernetic Systems 123
ALF Products Inc. 124
Business & Personal Computer
Sale and Expo 87
Byte Shop of Campbell, California 53
Byte Publictions 79
Capital Equipment 126
Carterphone Communications 21
Computalker Consultants 46
Computer Corner 118
Computer Enterprises 25
ComputerFest 78 120
Computer Hardware of Virginia 105
Computer Mart of California 119
Computer Mart of New Jersey 127
Computer Mart of New York 126
Computers Pigs, Inc. 53
Creative Computing 112, 112a, 112b
113, 121
Gromemco 1
Cybercom/Solid State Music 5
E & L Instruments Olll
Electrolabs 111
Engel Enterprises 127
Four Corners Press 105
Heath Co. 7
Jade Co. 55
McGraw Hill 32a, 32b, 33
Miniterm Associates 9
Netronics 125
North Star Computers 13
OK Machine & Tool Company 40
Ontario Institute for Studies
In Education 116
Osborne & Associates 43
Oxford Software Corp. 53
Parasitic Engineering 19
People’s Computers 23
Personal Computer Corporation 116
PolyMorphic Systems CIV
Processor Technology 11
Southwest Technical Products Co. CM
Summagraphics Corp. 29
Sybex 128, 129
Tarbell Electronics 46
Technical Design Labs 2
Tektronix 17
Virginia Home Computer Center 127
WAMECO Inc. 37,119
Windjammer Cruises 122
Xybex 105
Coming in March
• Small-Business Uses of Personal Computers. In the first
part of this new series, which will cover a specific area, in
each issue, we’ll examine programs for merchandise
inventory. First as viewed by an independent consultant,
followed by descriptions of several such programs, written
by the software houses, hardware manufacturers and
computer stores offering them.
• Three Computer-Music Systems. Steve North, our
resident software genius, has tried out three highly
different systems for producing music with a microcom¬
puter. Read his penetrating analysis and see if one of the
three is for you.
• Using a Light Pen to Interact with Color Graphics. Tom
Dwyer, whose four-part series on BASIC (which ends in
this issue) has attracted wide attention, takes a look at the
light pen, specifically as used with the Compucolorand its
eight-color graphics.
• Games, Games, Games. Several new ones you’ll want to
feed into your computer right away. Complete listings,
runs and descriptions, naturally.
• Can a Computer Really Play Winning Chess? Our
publisher, Dave Ahl, has looked into computerized chess,
and reports on past history, current progress, and some of
the available hardware and software for playing the “game
of kings.”
• What the Beginning Computer Hobbyist Needs to Know.
Steve North, wearing his tutorial hat this time, answers
such questions as: Which microcomputer is best for you?
Which features should you base your decision on? How
can you act smart and ask the right questions when you
walk into your local computer store? — and many more.
For a ground-floor introduction to micros and what makes
them tick, don’t miss these pages.
144
CREATIVE COMPUTING
Solder is for sissies.
Are you still designing circuits the old fashioned way? Soldering
and unsoldering? Burning up valuable IC’s? If so, it’s time you made
a switch to solderless breadboarding. E&L Instruments offers a
complete line of breadboarding products from sockets to the most
complete systems for professional use. Here are five ways you can
go solderless . . .
SK-10 Socket Digi-Designer #DD-1K
This precision solderless bread¬
boarding socket will pay for
itself in one afternoon. Inte¬
grated circuits and discrete com-
y ponents insert directly, without
adapters. All interconnections are
made with 20 to 26 gage solid
conductor wire. $17.75.
Breadbox III
An economical approach to a
large breadboarding area.
Three SK-10 sockets, four
5-way binding posts, two
BNC connectors, six BP-22
solderless breadboarding
pins. $72.25
Op-Amp Designer #OA-2K
Powerful design tool for linear work and
CMOS digital circuitry. SK-10
socket. Heavy current capac¬
ities on all three power
supplies [+/- 15V & +5V
DC]. Sensitive null
detector and a full func¬
tion generator with exter¬
nal frequency adjustment. All
interconnections are solderless.
$120.00 in kit form.
Op-Amp Designer #OA-3K
SK-10 socket. . Plus and
minus variable supplies
(1 to 15V). This
adjustable feature
makes the unit
exceptionally flexible,
allowing it to be more
useful for odd voltage require¬
ments. The fixed 5 volt supply
allows interfacing with TTL circuitry.
$102.50 in kit form.
A must for every student, engineer or
technician doing digital
circuit design. Handles
both 1C and discrete
components without
soldering. Connec¬
tions to the SK-10
socket are made
using any solid 22 gage
insulated wire. The DD-1K includes a
clock, power supply, logic lights, pulsers, logic
level switches and much more. All circuitry is
now in one circuit board. $77.75 in kit form.
OEM and educational discounts available. All
prices shown are suggested resale U.S.A.
■ E&L INSTRUMENTS, INC.
[~] 61 First Street, Derby, Conn. 06418
_I (203) 735-8774 Telex No. 96 3536
Authorized Stocking Representatives
Los Angeles, Calif.
(213) 377-0975
San Francisco, Calif.
(415) 961-2828
Woodbridge, Conn.
(203) 397-1461
Denver, Colorado
(303) 744-2501
Orlando, Florida
(305) 351-1841
Chicago, Illinois
(312)956-8090
Kansas City, Kansas
(913) 649-8952
New York, N Y.
(201) 467-8585
Syracuse, N Y.
(315) 699-2651
Dayton, Ohio
(513) 222-0011
Philadelphia, Pa.
(215) 723-8733
Dallas, Texas
(214) 328-5484
Fairfax, Virginia
(703) 273-1803
Seattle. Washington
(206) 938-4166
Vancouver,
British Columbia
(604) 687-2621
Canada
Edmonton, Alberta
(403) 455-4122
Winnipeg, Manitoba
(204) 774-6286
or 772-9295
H-l
The Computer for the Professional
Whether you are a manager, scientist, educator, lawyer,
accountant or medical professional, the System 8813 will
make you more productive in your profession. It can keep
track of your receivables, project future sales, evaluate
investment opportunities, or collect data in the laboratory.
Use the System 8813 to develop reports, analyze and store
lists and schedules, or to teach others about computers.
It is easily used by novices and experts alike.
Reliable hardware and sophisticated software make
this system a useful tool. Several software packages are
included with the machine: an advanced disk operating
system supporting a powerful BASIC language inter¬
preter, easy to use text editor, assembler and other system
utilities. Prices for complete systems start at $3250.
See it at your local computer store or contact us at
460 Ward Dr., Santa Barbara, CA 93111, (805) 967-0468.
PolyMorphic
Systems